【发布时间】:2020-11-09 10:25:18
【问题描述】:
我有一个巨大的数据框,我在其中根据两个条件对其进行过滤。
一个可重现的玩具示例如下:
import pandas as pd
df_ = pd.DataFrame([["A",91,1], ["B",91,2], ["C",92,1]],
columns=['Name','Iteration','IP Weight'])
df2 = pd.DataFrame([["D",91,1], ["E",91,1], ["F",91,1]],
columns=['Name','Iteration','IP Weight'])
目标
如果df_ 行与 df 的第一行具有相同的“迭代”和“ip_weight”组合,则过滤该行并附加 df,此处第一行将从df_ 中删除,df2 将被附加到它。
我过滤如下,
df_[~((df_['Iteration']==df2['Iteration'][0]) & (df_['IP Weight']==df2['IP Weight'][0]))]
它在笔记本中运行良好,但是当我将它放入脚本时它失败并显示消息
“FutureWarning:元素比较失败;返回标量,但将来会执行元素比较”
非常感谢任何帮助。
【问题讨论】:
-
你用的是哪个版本的熊猫?
-
在 docker 容器中,它是 1.0.3,而在本地(按预期工作的笔记本)是 '0.24.2'
标签: python-3.x pandas dataframe