2017-10-14 1 views
0

다음 강우량 데이터가 포함 된 DataFrame이 있습니다. 이것을 다시 형식화하여 24 개의 항목이 '월 - 연도'로 색인 된 Series를 얻으므로이를 줄로 표시하는 것이 더 쉽습니다.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 for ['.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 

당신은 문자열로 인덱스를해야 할 경우이 날짜로 필요한 경우

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])