2017-03-19 18 views
1

を再形成することによって、新しいデータフレームを作成します。誰かが私の下の問題で私を助けることができれば非常に感謝します。どのような私が持っている:は、私はPythonの初心者だ既存のデータフレーム

>>>df = pd.DataFrame({'2-day-sale' : [4], '3-day sale' : [7],'2-day-volume' : [10],'3-day-volume' : [100]}); 
>>>output: 
     2-day-sale  2-day-volume 3-day-sale 3-day-volume  
0 4    10   7   100 

私はそれがために何を望むか:

 2-day 3-day 
sale 4  7 
volume 10  100 

はどうもありがとうございました!

答えて

0
df.columns = df.columns.str.rsplit('-', n=1, expand=True) 
df.squeeze().unstack().T 

     2-day 3-day 
sale  4  7 
volume  10 100 

​ 
+0

ありがとうございました!はい。私はまったく同じソリューションを使いました。とても有難い:) – Susie

0

次のコードは、あなたの所望の出力を取得します。しかし、私はあなたが何が起こっているのより良い理解を得るためにpandas data structures documentationを読むことをお勧めします。 dfため

df_index = ['sale', 'volume'] 
data = {'2-day': pd.Series([4, 10], index=df_index), 
     '3-day': pd.Series([7, 100], index=df_index)} 
df = pd.DataFrame(data) 

出力:

 2-day 3-day 
sale  4  7 
volume  10 100 

私はこれがあなたの質問に答える願っています。ハッピーコーディング!

+0

はあなたにオネルをありがとう!私の遅い返信をお手伝いして申し訳ありません。そして、データ構造を理解することのお勧めは本当に助けになりました:) – Susie

関連する問題