【发布时间】:2017-11-01 20:34:54
【问题描述】:
我在 python 中有以下数据框:
数据框 1
1 2 3 4 5
dog dog 0 0 0 0 0
fox 0 0 0 0 0
jumps 0 0 0 0 0
over 0 0 0 0 0
the 0 0 0 0 0
fox dog 0 0 0 0 0
fox 0 0 0 0 0
jumps 0 0 0 0 0
over 0 0 0 0 0
the 0 0 0 0 0
jumps dog 0 0 0 0 0
fox 0 0 0 0 0
jumps 0 0 0 0 0
over 0 0 0 0 0
the 0 0 0 0 0
over dog 0 0 0 0 0
fox 0 0 0 0 0
jumps 0 0 0 0 0
over 0 0 0 0 0
the 0 0 0 0 0
the dog 0 0 0 0 0
fox 0 0 0 0 0
jumps 0 0 0 0 0
over 0 0 0 0 0
the 0 0 0 0 0
数据框 2
1 2 4 5
dog dog 0 0 0 0
fox 0 0 0 0
jumps 0 0 0 0
the 0 0 0 0
horse 0 0 0 0
fox dog 0 0 0 0
fox 0 0 0 0
over 0 0 0 0
the 0 0 0 0
cat 0 0 0 0
您可以看到 dataframe2 包含 dataframe1 的多索引,但它还包含额外的多索引,例如 horse 和 cat。数据框 2 也不包含数据框 1 的所有列,因为您可以看到它错过了第 3 列。
我想比较这两个数据帧,如果两个数据帧之间任何常见的第一->第二(多)索引的值也相互匹配,则函数返回 True,否则返回 False。
我可以通过手动查看每个值来进行迭代,但这会增加函数的时间复杂度。有谁知道熊猫是否提供了这样做的内置方式,或者我是否需要自己构建一个函数。如果是这样,你能指出我正确的方向吗?任何建议都非常感谢。谢谢。
【问题讨论】:
-
你能发布你想要的数据集吗?
标签: python pandas dataframe data-science