【发布时间】:2017-08-03 11:22:39
【问题描述】:
我正在尝试比较两个熊猫数据帧的标题并过滤匹配的列。 df1 是我的大数据框,有两个标题,df2 是一个字典,我保存了 df1 需要的每个列标题。
如果 df1 是这样的:
A B C D
a b c d
0.469112 -0.282863 -1.509059 -1.135632
1.212112 -0.173215 0.119209 -1.044236
-0.861849 -2.104569 -0.494929 1.071804
0.721555 -0.706771 -1.039575 0.271860
-0.424972 0.567020 0.276232 -1.087401
-0.673690 0.113648 -1.478427 0.524988
df2 是这样的:
B D E
我需要得到输出:
B D
-0.282863 -1.135632
-0.173215 -1.044236
-2.104569 1.071804
-0.706771 0.271860
0.567020 -1.087401
0.113648 0.524988
以及不匹配的标题元素列表:
A C
以及 df1 中缺少的元素:
E
到目前为止,我已经在 stackoverflow 上尝试了 iloc 命令和许多不同的建议来比较行。因为我正在比较标题,但这是不可能的。
编辑:我试过了
df1.columns.intersection(df2.columns)
但结果是:
MultiIndex(levels=[[], []],
labels=[[], []])
这是因为多个标题吗?
【问题讨论】:
-
请提供您编写的最接近您想要做的代码。
-
请提供:df1.head().to_dict()。在我眼里看起来很奇怪。
标签: python python-3.x pandas