如何从DataFram中删除行

2024-06-28 19:35:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含n行的数据帧和一个包含n个值的ndarray(-1表示异常值,1表示inlier)。有没有一种pythonic方法来删除与标记为-1的nparray元素的索引匹配的数据帧行?你知道吗


Tags: 数据方法标记元素pythonicndarray个值nparray
1条回答
网友
1楼 · 发布于 2024-06-28 19:35:05

你可以这样做:new_df = old_df[arr == 1]。你知道吗

示例

df = pd.DataFrame(np.random.randn(5,5))

arr = np.random.choice([1,-1], 5)
>>> df
          0         1         2         3         4
0 -0.238418  0.291475  0.139162 -0.030003 -0.515817
1 -0.162404 -1.272317  0.342051 -0.787938  0.464699
2 -0.965481  0.727143 -0.887149 -0.430592 -2.074865
3  0.699129 -0.242738  1.754805 -0.120637 -1.536973
4  0.228538  0.799445 -0.217787  0.398572 -1.255639
>>> arr
array([ 1, -1, -1,  1, -1])

>>> df[arr == 1]
          0         1         2         3         4
0 -0.238418  0.291475  0.139162 -0.030003 -0.515817
3  0.699129 -0.242738  1.754805 -0.120637 -1.536973

相关问题 更多 >