2017-10-14 14 views
0

降雨データを含む以下のDataFrameがあります。私はこれを再フォーマットして、「月 - 年」で索引付けされた24の項目を持つシリーズを得て、これを線としてプロットすることがより簡単になるようにします。DataFrame列データをシリーズ

JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 
Year             
2015 96.6 58.9 23.5 18.6 62.9 26.7 60.0 108.6 67.9 58.1 78.0 80.4 
2016 131.8 54.2 80.2 51.2 64.1 91.3 17.4 38.8 50.9 29.8 100.6 17.4 

私は各行を繰り返して毎月個別に取り出してシリーズに追加できると考えていました。私はもっ​​と良い方法があるのだろうかと思っていた。

+0

はのような音とともに使用unstackあなたは見ているg:['.stack()'](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.stack.html)。 –

+0

'df.stack()'が必要です。 – Zero

答えて

1

to_frameすなわち

ndf = df.unstack().to_frame().sort_index(level=1) 
 
      0 
    Year  
JAN 2015 96.6 
FEB 2015 58.9 
MAR 2015 23.5 
APR 2015 18.6 
MAY 2015 62.9 
JUN 2015 26.7 
JUL 2015 60.0 
AUG 2015 108.6 
SEP 2015 67.9 
OCT 2015 58.1 
NOV 2015 78.0 
DEC 2015 80.4 
JAN 2016 131.8 
FEB 2016 54.2 
MAR 2016 80.2 
APR 2016 51.2 
MAY 2016 64.1 
JUN 2016 91.3 
JUL 2016 17.4 
AUG 2016 38.8 
SEP 2016 50.9 
OCT 2016 29.8 
NOV 2016 100.6 
DEC 2016 17.4 

あなたは文字列としてインデックスが必要な場合は、datetime型としてそれを必要とする場合は、

ndf.index = ['{} {}'.format(i,j) for i,j in ndf.index.values] 

その後、

ndf.index = pd.to_datetime(['{} {}'.format(i,j) for i,j in ndf.index.values]) 
関連する問題