【发布时间】:2017-05-22 15:07:37
【问题描述】:
我想从 pandas 数据框中删除大于某个阈值的值。有没有一种有效的方法来执行此操作?我正在使用 apply 和 lambda 来做这件事,它工作正常,但对于大型数据帧来说有点慢,我觉得必须有更好的方法。
df = pd.DataFrame({'A': [1,2,3,4,5], 'B': [1,2,3,4,5]})
df
A B
0 1 1
1 2 2
2 3 3
3 4 4
4 5 5
没有apply和lambda怎么办?
df['A'] = df.apply(lambda x: x['A'] if x['A'] < 3 else None, axis=1)
df
A B
0 1.0 1
1 2.0 2
2 NaN 3
3 NaN 4
4 NaN 5
【问题讨论】:
-
您现在已经大大改变了您的问题,您现在只想覆盖 A 列吗?
-
抱歉,我不得不更新我的问题以澄清我的观点。是的,我想删除某一列中高于特定阈值的一些值。
-
查看我更新答案的最后一部分
-
这很棒。谢谢