我有两个名为 df1
和 df2
的 Pandas 数据框,这样
`
df1: a b c d
1 2 3 4
5 6 7 8
和
df2: b c
12 13
我想要这样的结果
result: b c
2 3
6 7
这里需要注意的是a b c d
是pandas dataframe中的列名。两个 Pandas 数据框的形状和值都不同。我想将 df2
的列名与 df1
的列名相匹配,并选择 df1
的标题匹配的所有行与df2
的列名.. df2
仅用于选择df1
维护所有行的特定列。我尝试了下面给出的一些代码,但这给了我一个空索引。
df1.columns.intersection(df2.columns)
上面的代码没有给出我的结果,因为它给出了没有值的索引 header 。我想编写一个代码,在其中我可以将我的两个数据帧作为输入,并比较列标题以供选择。我不必对列名称进行硬编码。
最佳答案
我相信你需要:
df = df1[df1.columns.intersection(df2.columns)]
或者像@Zero 在评论中指出的那样:
df = df1[df1.columns & df2.columns]
关于python - 在python中匹配两个 Pandas 数据框的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48404453/