2017-10-17 6 views
1

1981年から1999年までのデータを含むCSVファイルからデータを取得しましたが、1981年から1992年までデータを取得したいのですが、データフレームでクエリを実装する方法がわかりません。 はここ 助け、私は問題を解決するための... CSV File Linkpython pandasで1981年から1992年までのgroupby "Cause"のすべてのデータを表示するにはどうすればいいですか?

Pythonのパンダコード

col_names = ['Country','Cause','Deaths1','Sex','Year'] 
return_data=pd.read_csv("test.csv",low_memory=False,usecols=col_names); 
temp_return=return_data[return_data['Country']==4184].groupby('Cause').max() 
efg=temp_return.iloc[1:21] 
returnCount=efg[efg.columns.difference(['Sex','Country','Year'])] 
returnCount 

上部のコードは、すべての年のデータをフェッチ.....私のコードの一部です

答えて

0

最初に私はグループ化されたデータのデータフレームを作成し、データを簡単にスライスまたはフィルタリングできるようにします。

#Option 1: Filter input dataframe 
    return_data=return_data.ix[return_data.year.isin(list(np.arange(1981,1993,1)))] 
temp_return=pd.DataFrame(return_data[return_data['Country']==4184].groupby(['Year','Cause']).max()) 
+0

感謝したが何も起こらなかった、それは何も示していない、私はあなたがする私を助けてください、このファイルへのアクセスを得ることができ、今のリンクを更新しました正しい答えを得る –

+0

ixは非推奨です –

+0

"return_data = return_data.ix [return_data.year.isin(list(np.arange(1981,1993,1))]]"は私のためにすべての適切なデータを選択します。私は問題はあなたがグループを行うという事実に何かを持っていると思う。なぜなら、「原因」だけではあるが、groupBy(['年'、 '原因'])をしないから、グループの中で。 – 5nv

0

あなたはこのように希望の年を選択することができます:あなたは仲間を助けるため

efg = temp_return[temp_return['Year'].isin(temp_return['Year'].unique().sort_values()[:13])] 
+0

私は1981年から1993年の結果を得たいと思いますが、あなたの答えには何年前に言及しましたか? –

+0

jupyterがあなたのコードが無効な構文であると言います –

+0

']'を閉じるのを忘れました。私はあなたの年が1981年から始まり、次の12年(合計13年)が必要だと考えました。 – zipa

関連する問題