-1
以下のコード行は、各月の総売上を表す列を使用し、売上を四半期ごとに平均します。format関数を使用した列の名前付け
mdf = tdf[sel_cols].resample('3M',axis=1).mean()
私がする必要があるのは、strを持つ列のタイトルです(pandas .Period関数は使用できません)。
次のコードを使用しようとしましたが、動作させることができません。
mdf = tdf[sel_cols].resample('3M',axis=1).mean().rename(columns=lambda x: '{:}q{:}'.format(x.year, [1, 2, 3, 4][x.quarter==1]))
私は列が...など2000q1、2000q2、2000q3、2000q4、2001q1を、...読んで、しかし2000q1、2000q1、2000q1、2000q2、2001q1のような間違ったものを取得しておきたいです。
.format関数を使用して正しく機能させるにはどうすればよいですか。
のような日時リストに四半期機能を実行することである[x.quarter == 1]'これはしか '返します。 「1」または「2」である。 'x.quarter == 1'は常に' True'か 'False'のどちらかと評価され、それぞれリストのインデックス' 1'または '0'に変換されます。 – 0x5453
@ 0x5453 ok、それは理にかなっています。列がなくなるまで1から4までカウントする必要はありますか? –
'x.quarter'にはどのような値が入っていますか?既に1-4の範囲でフォーマットされている場合は、単に 'x.quarter'を使うことができます。それが増えれば、おそらく '[1、2、3、4] [x.quarter%4]'を実行できます。サンプルデータを見ずに言うのは難しいです。 – 0x5453