为了账号安全,请及时绑定邮箱和手机立即绑定

如何迭代多个数据帧并将值添加到python中的新数据帧

如何迭代多个数据帧并将值添加到python中的新数据帧

月关宝盒 2022-06-02 16:13:03
我有 4 个数据框:df1 = pd.read_csv('values1.csv')df2 = pd.read_csv('values2.csv')df3 = pd.read_csv('values3.csv')df4 = pd.read_csv('values4.csv')他们每个人的结构如下:我想创建一个新的数据框,以便它具有所有数据框中每个类别的聚合值。因此,新数据框应具有使用以下公式计算的值:-Total['values'][0] = df1['values'][0] / (df1['values'][0] + df2['values'][0]  + df3['values'][0]  + df4['values'][0] )像这样它应该为所有行生成值。有人可以帮帮我吗。
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

首先将所有DataFrames 与concat并聚合sum为Series,然后将列转换category为索引 for Seriesfromdf1并除以Series.div:


s = pd.concat([df1, df2, df3, df4]).groupby('category')['values'].sum()


out = df1.set_index('category')['values'].div(s).reset_index(name='total')

编辑:


s = pd.concat([df1, df2, df3, df4]).groupby('category')['values'].sum()

s1 = pd.concat([df1, df2]).groupby('category')['values'].sum()


out = s1.div(s2).reset_index(name='new')


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号