私は、何年にもわたって人口統計のCSVファイルから派生したDataFrame構造を持っています。つまり、ファイルの列は毎月の時間間隔(1999-01、1999-02 ... 2016-12)で、行は世界の異なる人口中心です(ロンドン、トロント、ボストンなど)。Pandas DataFrameの列の抽出とグループ化
df = pd.DataFrame({'1999-01' : [100, 5000, 8000], '1999-02' : [200, 6000, 9000], '1999-03' : [300, 7000, 10000], ..., cities : ['CityA', 'CityB', 'CityC' ...]})
私はこれらの列を四半期ごとに分離したいと考えています。だから私は3ヶ月ごとにこれをやって、すべての行のために、1999年から1901年から1999年から1902年、1999から9の平均集団を取り、このエントリの新しい列「1999Q1」を作成します。
df_quarter = pd.DataFrame({'1999Q1' : [200, 6000, 9000], '1999Q2' : ..., cities = ['CityA', 'CityB', 'CityC' ...]})
#Q1 corresponds to months 01-03, Q2 to months 04-06, Q3 to months 07-09, Q4 months 10-12, all inclusive
をしかし、私は、これを達成するためにクエリを概念化するのが難しいです。 .groupby()と.agg()を使用するのは半分ですが、効率的に3列のグループ化を指定して列全体を反復する方法がわかりません。誰かが正しい方向に私を指差してくれますか?
EDIT:列が日付ではなく、より抽象的なものであり、期間の単純な再サンプリングが使用できなかったとします。例:
果物と乳製品を組み合わせた2つの列を作成したい場合は、集計するインデックスを指定する方法はありますか?集計mean
と
お読み下さい[この](のhttp:// stackoverflowの.com/questions/20109391/how-to-make-good-reproducible-pandas-examples)、良いパンダの質問をする方法を学びます。薄い空気の中からあなたのための例と解決策を作り出す人は誰もいません。 –
適切な編集を行います。 –