例如,我有简单的 DF:
import pandas as pd
from random import randint
df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)],
'B': [randint(1, 9)*10 for x in range(10)],
'C': [randint(1, 9)*100 for x in range(10)]})
我可以使用 Pandas 的方法和习语从“A”中选择“B”的对应值大于 50 和“C”的值 - 不等于 900 的值吗?
原文由 Gill Bates 发布,翻译遵循 CC BY-SA 4.0 许可协议
当然!设置:
我们可以应用列操作并获取布尔系列对象:
[更新,切换到新样式
.loc
]:然后我们可以使用这些索引到对象中。对于读取访问,您可以链接索引:
但是由于视图和副本之间的差异,您可能会遇到麻烦,因为这样做是为了写访问。您可以使用
.loc
代替:请注意,我不小心输入了
== 900
而不是!= 900
或~(df["C"] == 900)
,但我懒得修复它。为读者练习。 :^)