如何使用欧元格式筛选数据 + pandas Python
How to filter data with Style format in Euros + pandas Python
我有一个数据库,但在使用样式格式(欧元)时遇到了一些问题
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 INVESTIGACION Y 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)
我得到了相同但没有欧元符号,请提出任何解决此问题的建议。
你得到了一个没有 'style' 方法的 Series 对象,所以你必须调用 'to_frame()':
df.groupby(['Country', 'Entity'])['Budget'].sum() \
.sort_values(ascending=False) \
.to_frame() \
.style.format('€ {0:,.0f}')
我有一个数据库,但在使用样式格式(欧元)时遇到了一些问题
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 INVESTIGACION Y 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)
我得到了相同但没有欧元符号,请提出任何解决此问题的建议。
你得到了一个没有 'style' 方法的 Series 对象,所以你必须调用 'to_frame()':
df.groupby(['Country', 'Entity'])['Budget'].sum() \
.sort_values(ascending=False) \
.to_frame() \
.style.format('€ {0:,.0f}')