pandas两个dataframe按照指定列相加求和 – IPCPU

您所在的位置:网站首页 dataframe筛选满足条件的列相加 pandas两个dataframe按照指定列相加求和 – IPCPU

pandas两个dataframe按照指定列相加求和 – IPCPU

2024-07-13 05:12| 来源: 网络整理| 查看: 265

pandas两个dataframe按照指定列相加求和.md

需求

如下图两个dataframe,按照name名称对value进行相加求和。 注意,name顺序是打乱的。

尝试

我们直接相加,但是得到了如下结果

df = df1 + df2 df = df1.add(df2) ======newdf======= name value 0 baishanaliyun 1130 1 aliyunbaishan 1447 2 kingsoftkingsoft 151 3 totaltotal 6409 4 otherother 3681

显然不合要求

正解

网上查了下,终于找到了正确的方法,如下

df = df1.set_index('name').add(df2.set_index('name'), fill_value=0).reset_index() 或者 df = pd.concat([df1, df2]).groupby('name')['value'].sum().reset_index()

结果如下

======newdf======= name value 0 aliyun 2264 1 baishan 313 2 kingsoft 151 3 other 3681 4 total 6409 参考资料

https://stackoverflow.com/questions/49111859/how-to-merge-two-dataframes-and-sum-the-values-of-columns

转载请注明:IPCPU-网络之路 » pandas两个dataframe按照指定列相加求和



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3