私はすべての国のすべての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