我有一个名为 db in pandas 的数据库
index win loss moneywin moneyloss
player1 5 1 300 100
player2 10 5 650 150
player3 17 6 1100 1050
player11 1010 105 10650 10150
player23 1017 106 101100 101050
Run Code Online (Sandbox Code Playgroud)
我想将 list1 的元素添加到 db 的元素中
list1 = [[player1,105,101,10300,10100],[player3,17,6,1100,1050]]
Run Code Online (Sandbox Code Playgroud)
所以结果将是 db2
index win loss moneywin moneyloss
player1 110 102 10600 10200
player2 10 5 650 150
player3 34 12 2200 2100
player11 1010 105 10650 10150
player23 1017 106 101100 101050
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
解决方案一:
使用给定的数据帧创建一个数据帧,list1然后使用concat分组index并聚合剩余的列sum
df1 = pd.DataFrame(list1, columns=df.columns)
df_out = pd.concat([df, df1]).groupby('index', sort=False).sum()
Run Code Online (Sandbox Code Playgroud)
解决方案2:
list1然后add使用通用的给定数据帧创建一个数据帧index
df1 = pd.DataFrame(list1, columns=df.columns)
df_out = df.set_index('index').add(df1.set_index('index'), fill_value=0)
Run Code Online (Sandbox Code Playgroud)
结果:
print(df_out)
win loss moneywin moneyloss
index
player1 110 102 10600 10200
player2 10 5 650 150
player3 34 12 2200 2100
player11 1010 105 10650 10150
player23 1017 106 101100 101050
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
421 次 |
| 最近记录: |