在 DataFrame 列中减去

subtract inside DataFrame columns

因为可能我今晚没睡,但是,鉴于:

df1 = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'], index=['rank1','rank2','rank3','rank4']}
df2 = {'Age':[28,34,29,42],'bubu':[98,33,3,30], index=['rank1','rank2','rank3','rank4']}
df_merged = = pd.concat([ df1, df2 ], axis = 1)

现在,为了动态管理来自更密集列的 df 中列的进一步算术运算:

a = ['Age']  #List
b = ['bubu'] #List

算术运算:

df_merged['newCol'] = df_merged[a]-df_merged[b]

或两者

df_merged.assign(newCol = df_merged[a] - df_merged[b])

我无法减去 2 列,因为 return 这样的错误

ValueError: Expected a 1D array, got an array with shape (556, 2)

不确定我是否理解,但试试这个:

a = 'Age'
b = 'bubu'

然后

df_merged['newCol'] = df_merged[a] - df_merged[b]

产生:

        Name  Age  bubu  newCol
rank1    Tom   28    98     -70
rank2   Jack   34    33       1
rank3  Steve   29     3      26
rank4  Ricky   42    30      12

这是你想要的吗?

df_merged['newCol'] = df_merged['Age']-df_merged['bubu'] or
df_merged.insert(3,'newCol', df_merged['Age']-df_merged['bubu'],True)