我可以帮助我告诉pandas中这两个语句之间的区别 - python
df.where(df['colname'] == value)
和
df[(df['colname'] == value)]
为什么我在输出数据帧中获得不同的大小
答案 0 :(得分:6)
根据where
的文档:
返回与self相同形状的对象及其对应的条目 来自于自我,其中cond是真的,否则来自其他。
因此where
的目的与使用括号过滤略有不同,因为它会为您提供与您运行它的数据帧形状相同的结果。
目标在文档的注释中:
where方法是if-then习语的应用。对于每一个 调用DataFrame中的元素,如果
cond
是True
元素 用来;否则来自DataFrame的相应元素 使用other