我遇到了熊猫的问题。 例如,我有dataframe,我想过滤它。你知道吗
df = pd.DataFrame({'A': [i for i in range(5)],
'B': [i ** 2 for i in range(5)]})
df[(df.A > 2) & (df.apply(lambda row: print('call'), axis=1))]
但为什么会这样?为什么对所有行执行第二条语句?我以为熊猫可以用逻辑和(运算符&;按顺序过滤)
有人能解释一下吗?如何在一个数据帧中使用筛选器而不重新分配数据帧?你知道吗
或者你可以这样做:
对于其他行:
print
返回None
,依此类推与相同
这和
所有元素都被解释为
False
,因此得到空的DataFrame
相关问题 更多 >
编程相关推荐