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
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
添加回答
举报