私はsas proc transposeを持っています。私はpandasで複製しようとしています。ここでPython Pandas Proc Transpose Equivalent
は一例です:
ID = ['ID1', 'ID1', 'ID1', 'ID1', 'ID1']
obs_week = [201701,201701,201701,201701,201701]
weeks_id = [1,2,3,4,5]
spend = [100,200,300,400,500]
df = pd.DataFrame(zip(ID, obs_week, weeks_id, spend), columns = ['id', 'obs_week', 'weeks_id', 'spend'])
df
これは、このようなテーブルを与える:
id obs_week weeks_id spend
0 ID1 201701 1 100
1 ID1 201701 2 200
2 ID1 201701 3 300
3 ID1 201701 4 400
4 ID1 201701 5 500
私はID1とobs_weekが一意になるように、これを転置しようとしていますし、その後weeks_idが新しいとなり接頭辞付きの列。
SASのコードは次のようになります。
proc transpose data=spend out=spend_hh (drop = _label_ _name_) prefix=spend_;
by id obs_week;
id weeks_id;
var spend;
run;
私は私の問題がある。この
spend
weeks_id 1 2 3 4 5
id obs_week
ID1 201701 100 200 300 400 500
のようなテーブルを与えるdf.pivot_table
df.pivot_table(index=['id','obs_week'], columns='weeks_id', aggfunc=sum, fill_value=0)
使用して近づくために管理しています1 2 3 4 5の名前をspend_1、spend_2などに変更したいのですが
私はまた、ファイル内の複数の異なる変数のためにこれをやってみたいけど、私はちょうど私が
私の答えは次のようになりたいだけのフィールドに選択を制限することができ前提としています
id obs_week spend_1 spend_2 spend_3 spend_4 spend_5
0 ID1 201701 100 200 300 400 500
ですこれはどういうわけかヘッダーをちょうど崩壊させますか?
idとobs_weekをインデックスの一部にしないことも忘れないでください。