-3
我想每一个国家的所有IndicatorsCode
的Year
值的平均值:如何优化此Python代码?
import numpy as np
import pandas as pd
datos = pd.read_csv("suramerica.csv")
media = list()
agricultura = list()
flag=0
paises = np.array(['Antigua and Barbuda','Argentina','Chile','Colombia'])
indicadores_agricultura = np.array(['EG.ELC.ACCS.RU.ZS','EG.NSF.ACCS.RU.ZS'])
for i in paises:
for j in indicadores_agricultura:
for k in range(len(datos)):
if i==datos['CountryName'][k] and j==datos['IndicatorCode'][k]:
flag=1
media.append(datos['Year'][k])
if flag==1:
agricultura.append(np.array([i,np.mean(media)]))
del media[:]
flag=0
pd.DataFrame(agricultura,columns=['Paises','Agricultura y Desarrollo Rural'])
下面是结果的一个数据帧:
如果您需要访问CSV :Suramerica.csv
此代码需要很长时间才能执行。感谢您的时间 - 任何建议都会很棒。
谢谢!它完美的工作!,还有一个问题,我需要添加所有国家的数组,所以如果一个国家不符合任何IndicatorCode我需要添加0.0它的媒体。我怎样才能用你的代码做到这一点?谢谢!!! – Ambigus9
更新了上面的代码。 –
谢谢!上帝祝福你!! – Ambigus9