【发布时间】:2019-11-27 11:18:14
【问题描述】:
这是代码:
import pandas as pd
from pandas import Series, DataFrame
import numpy as np
import matplotlib.pyplot as plt
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
datos1 = (df[(df['Participation'].str.contains('Coordinator')) & (df.Country.str.count('Spain'))])
datos2 = 'Las participaciones en proyectos como coordinador son='
datos4= 'El presupuesto en Euros es ='
display(datos1)
print(datos2, datos1.Country.str.count('Spain').sum())
print(datos4, datos1.Budget.sum())
Year Project Entity Participation Country Budget
2015 671598 - 5G-CROSSHAUL UNIVERSIDAD CARLOS III DE MADRID* Coordinator Spain 899471.88
2015 671517 - SONATA - 5G ATOS SPAIN SA* Coordinator Spain 602437.50
2015 671704 - CHARISMA - 5G FUNDACIO PRIVADA I2CAT *FI2CAT Coordinator Spain 557312.50
我想获得与欧元预算相同的结果,我尝试使用以下代码:
display(datos4, datos1.Budget.sum().style.format('€ {0:,.0f}'))
更新:
display(datos4, datos1.Budget.sum().style.format('€ {0:,.0f}'))
这一行是用这段代码解决的:
print(datos4, '€ {0:,.0f}'.format(datos1.Budget.sum()))
现在,我只有预算中的样式格式有问题,我试过了 用这段代码修复:
datos1 = (df[(df['Participation'].str.contains('Coordinator'))
& (df.Country.str.contains('Greece'))
& (df.Budget.apply('€ {0:,.0f}'.format))])
或
df['Budget']=df.Budget.apply('€ {0:,.0f}'.format)
datos1 = (df[(df['Participation'].str.contains('Coordinator'))
& (df.Country.str.contains('Greece'))])
我的代码有错误,请知道吗?
【问题讨论】:
-
您好 Diego,如果您可以包含其他人可以运行的代码来演示您的问题,这将很有帮助。例如,如果您在代码中创建一个示例数据框来复制您所拥有的示例,这样我们就会遇到相同的错误。
-
感谢您的建议,我更新了代码,如果您对欧元表有任何总体想法,请告知。
标签: python pandas python-requests pandas-groupby