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

类别中的 Pandas 数据框总和

类别中的 Pandas 数据框总和

PIPIONE 2023-03-16 10:06:54
我有一个熊猫数据框,看起来像这样:import pandas as pdticker = ['YAR.OL', 'DNB.OL', 'TSLA', 'NHY.OL', 'SBO.OL', 'STB.OL']country = ['Norway', 'Norway', 'United States', 'Norway', 'Norway', 'Norway']alloc = [11.822, 2.917, 0.355, 74.158, 9.673, 1.075]dfn = pd.DataFrame(country,columns =['country'])dfn['Allocation'] = pd.DataFrame(alloc)我想总结每个国家的分配,例如: 挪威:99,645 美国:0,355我如何使用我生成的 df 在 python 中执行此操作?
查看完整描述

2 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

只需在末尾添加一行代码


dfn=dfn.groupby(['country']).sum()

乍看上去


import pandas as pd


ticker = ['YAR.OL', 'DNB.OL', 'TSLA', 'NHY.OL', 'SBO.OL', 'STB.OL']

country = ['Norway', 'Norway', 'United States', 'Norway', 'Norway', 'Norway']

alloc = [11.822, 2.917, 0.355, 74.158, 9.673, 1.075]


dfn = pd.DataFrame(country,columns =['country'])

dfn['Allocation'] = pd.DataFrame(alloc)

dfn=dfn.groupby(['country']).sum()


print(dfn)

输出:


country           Allocation               

Norway             99.645

United States       0.355


查看完整回答
反对 回复 2023-03-16
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

首先,你必须使用pandas.DataFrame.groupby函数。请参阅此处的解释
通过pandas.DataFrame.groupby你可以在一组名字中做任何你想做的事。就像mean()你的情况一样sum()

>>> dfn2 = dfn.groupby(['country'])

>>> dfn2.sum()


country        Allocation          

Norway             99.645

United States       0.355

您也可以在一行中执行此操作。


>>> dfn.groupby(['country']).sum()


country        Allocation

Norway             99.645

United States       0.355


查看完整回答
反对 回复 2023-03-16
  • 2 回答
  • 0 关注
  • 71 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信