簡體   English   中英

在 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 列因為返回這樣的錯誤

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM