Python/pands合并两个数据帧

Python/pands合并两个数据帧,python,pandas,Python,Pandas,假设我有一个 df1 = Color count size price 0 Red 2 med 5 1 Blue 1 large 10 还有一个 df2 = 0 count 1 size 希望两者合并,这样我就可以 德夫曼= count size 0 2 med 1 1 large 我将如何着手实施这一点?本质上,获取第二个数据帧的列,并将不属于第二个数据帧的其余列移除到最终的数据

假设我有一个

df1 = 
  Color  count  size   price
0   Red      2   med     5
1  Blue      1   large   10
还有一个

df2 =

0 count
1 size
希望两者合并,这样我就可以

德夫曼=

   count  size   
0     2   med   
1     1   large  

我将如何着手实施这一点?本质上,获取第二个数据帧的列,并将不属于第二个数据帧的其余列移除到最终的数据帧中。我是一个熊猫初学者,任何提示都将不胜感激

如@ifly6所述,这些问题更多的是列子集问题,而不是合并问题

这应该起作用:

dfmain = df1.loc[:,df2.iloc[:,0]]
  • df2.iloc[:,0]
    df2的第一列中选择值

  • df1.loc[:,df2.iloc[:,0]]
    然后选择步骤1的输出指定的
    df1
    列(按名称)


  • 这不是真正的合并,因为它是一个列子集
    df1.loc[:,df2]
    df2似乎是一个系列,一个数据帧应该有列名。如果是这种情况,df1[df2]将返回所需的结果。我知道,这似乎是df2的一个系列,当我实现@Wen的方法时,我得到一个错误,指出[AMZN\n0 HD\n1 DIS\n2 NKE\n3 SBUX]都不在[columns]中(我的实际项目比给定的示例稍微复杂一些)@HaleemurAli我得到一个ValueError:必须只传递带有布尔值的数据帧