Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于公共列从两个数据帧中减去列_Python_Pandas_Dataframe - Fatal编程技术网

Python 基于公共列从两个数据帧中减去列

Python 基于公共列从两个数据帧中减去列,python,pandas,dataframe,Python,Pandas,Dataframe,df1: 亚洲34 美国74 澳大利亚92 非洲44 df2: 亚洲24 澳大利亚90 非洲30 我希望df1-df2的输出是 亚洲10 美国74 澳大利亚2 非洲14 我正为此烦恼,我是熊猫的新手。请提供帮助。与映射的第二个系列一起使用 如有可能,更改第一列的顺序将第一列和第二列转换为索引,并减去: df2 = df1.set_index('A')['B'].sub(df2.set_index('A')['B'], fill_value=0).reset_index() print (df2)

df1:

  • 亚洲34
  • 美国74
  • 澳大利亚92
  • 非洲44
  • df2:

  • 亚洲24
  • 澳大利亚90
  • 非洲30
  • 我希望df1-df2的输出是

  • 亚洲10
  • 美国74
  • 澳大利亚2
  • 非洲14
  • 我正为此烦恼,我是熊猫的新手。请提供帮助。

    与映射的第二个
    系列一起使用

    如有可能,更改第一列的顺序将第一列和第二列转换为索引,并减去:

    df2 = df1.set_index('A')['B'].sub(df2.set_index('A')['B'], fill_value=0).reset_index()
    print (df2)
               A     B
    0     Africa  14.0
    1    America  74.0
    2       Asia  10.0
    3  Australia   2.0
    
    根据,有一个填充参数,您可以在其中添加任务值,您可以从帧中获得这些值。
    df2 = df1.set_index('A')['B'].sub(df2.set_index('A')['B'], fill_value=0).reset_index()
    print (df2)
               A     B
    0     Africa  14.0
    1    America  74.0
    2       Asia  10.0
    3  Australia   2.0