我有一个数据库,当我使用样式格式(欧元)时,我有一些问题。
df.head(3).style.format({'Budget': "€{:,.0f}"})
Year Project Entity Participation Country Budget
0 2015 671650 - MMMAGIC - 5G 'FUNDACION IMDEA NETWORK*' Participant Spain €384,000
1 2015 671650 - MMMAGIC - 5G 'ROHDE & SCHWARZ GMBH*' Participant Germany €12,000
2 2015 671650 - MMMAGIC - 5G 'SAMSUNG ELECTRONICS (UK) LIMITED' Coordinator UnitedKingdom €997,500问题是当我应用这个过滤器时:
display(df.groupby('Entity')['Budget'].agg(['sum'])
.sort_values('sum', ascending=False).head(3).style.format('€ {0:,.0f}'))
sum实体
FRAUNHOFER GESELLSCHAFT EV 18,550,842 TELEFONICA DESARROLLO SA* 13,592,263橙色SA* 9,517,402欧元
我希望得到这样的结果:
Country Entity
Germany FRAUNHOFER GESELLSCHAFT EV € 18550842.50
Spain TELEFONICA INVESTIGACION Y DESARROLLO SA* € 13592263.26
France ORANGE SA* € 9517402.06但当我应用命令时:
df.groupby(['Country', 'Entity'])['Budget'].sum().sort_values(ascending=False)我得到了同样的,但没有欧元的符号,请提出解决这个问题的建议。
发布于 2019-11-25 21:31:38
您有一个没有'style‘方法的Series对象,所以必须调用'to_frame()':
df.groupby(['Country', 'Entity'])['Budget'].sum() \
.sort_values(ascending=False) \
.to_frame() \
.style.format('€ {0:,.0f}')https://stackoverflow.com/questions/59027698
复制相似问题