【发布时间】:2017-09-10 00:26:08
【问题描述】:
我有两个两个数据框,一个由列表组成。
in [00]: table01
out[00]:
a b
0 1 2
1 2 3
in [01]: table02
out[01]:
a b
0 [2] [3]
1 [1,2] [1,2]
现在我想比较两张表。如果table01中的元素也在table02的相同位置列表中,则返回True,否则返回False。所以我想要的表是:
a b
0 False False
1 True False
我已尝试 table01 in table02 但收到错误消息:“DataFrame”对象是可变的,因此无法对它们进行哈希处理。
请与我分享此问题的正确解决方案。非常感谢!
【问题讨论】:
-
table01 in table02没有太多尝试...... -
好吧,纯粹的价值比较。 table01 == table02 有效,但我不明白为什么它在我的情况下不起作用。实际上,我发现如果我一个一个地调用单元格,使用“in”然后将结果放回去它可以工作。但是,我目前的解决方案非常耗时,这就是我问这个问题的原因。对不起,我的陈述不清楚。
-
因为
==运算符被重载以处理数据帧。进行了元素明智的比较,并且由于 int != list,一切都是 False。in不适用于数据帧。
标签: python list pandas dataframe comparison