Python 熊猫-通过组合来自两个excel文件的公用键来创建新的excel文件

Python 熊猫-通过组合来自两个excel文件的公用键来创建新的excel文件,python,pandas,Python,Pandas,我分别在数据框df1和df2中获取了两个excel文件的内容。我想创建一个新的excel文件,该文件将只包含文件1和文件2中的公共标题,但值必须仅来自文件2。例如:文件1有头a、b、c、d,而文件2有头a、c。 新的excel文件将只有标题a和c,但值将仅来自文件2,而不是文件1。 我怎样才能在熊猫身上做到这一点。我尝试了merge函数,但它没有给我想要的结果。您可以使用np.intersect1d获得列的交点,然后将其应用于df2 Colmask = np.intersect1d(np.arr

我分别在数据框df1df2中获取了两个excel文件的内容。我想创建一个新的excel文件,该文件将只包含文件1和文件2中的公共标题,但值必须仅来自文件2。例如:文件1有头a、b、c、d,而文件2有头a、c。 新的excel文件将只有标题a和c,但值将仅来自文件2,而不是文件1。
我怎样才能在熊猫身上做到这一点。我尝试了merge函数,但它没有给我想要的结果。

您可以使用
np.intersect1d
获得列的交点,然后将其应用于
df2

Colmask = np.intersect1d(np.array(df1.columns), np.array(df2.columns))
df2[Colmask]
更惯用的方法是:

df2[df2.columns.intersection(df1.columns)]

你能发布一些到目前为止你已经尝试过的代码吗?一些代码和数据将有助于理解你的问题。请提供一个“
df2[df2.columns.intersection(df1.columns)]”
是否为您提供了所需信息?(或者可能
df2.to_excel('filename.xlsx',columns=df2.columns.intersection(df1.columns))
可能更适合您的方法