2016-11-24 6 views
0
의 존재에 팬더 dataframe 구조 조정

나는이처럼 보이는 팬더 DataFrame이 있다면 :방법도 누락 된 데이터

df=pandas.DataFrame(range(8)) 



    0 
0 0 
1 1 
2 2 
3 3 
4 4 
5 5 
6 6 
7 7 

오 행의 두 개의 컬럼으로이 프레임을 재구성하는 가장 좋은 방법이 될 것입니다 무엇 8 개의 숫자 밖에 없다는 사실에 상관없이?

때문에 출력은 다음과 같습니다

0 1 
0 0 5 
1 1 6 
2 2 7 
3 3 NaN 
4 4 NaN 
5 5 NaN 
+0

는 재배치에 대한 로직은 2X5 이외 있는가? –

답변

1

을 당신이 알다시피 있도록 배열의 크기를 변경하는 데 사용되는 numpy 함수입니다. Na 's tho로 채우지 않으면 값을 반복하거나 누락 된 부분에 0을 더할 수 있습니다.

추가 0 :

import numpy as np 
df=pandas.DataFrame(range(8)) 
arr = df.values.copy() 
arr.resize(2, 5) 
pd.DataFrame(arr.T) 
Out[53]: 
    0 1 
0 0 5 
1 1 6 
2 2 7 
3 3 0 
4 4 0 

누락 반점의 값을 반복 :

import numpy as np 
df=pandas.DataFrame(range(8)) 
pd.DataFrame(np.resize(df.values, (2, 5)).T) 
Out[61]: 
    0 1 
0 0 5 
1 1 6 
2 2 7 
3 3 0 
4 4 1 
1

이 시도 :

pd.DataFrame([df[0].values[:6], df[0].values[6:]]).T 

    0 1 
0 0.0 5.0 
1 1.0 6.0 
2 2.0 7.0 
3 3.0 NaN 
4 4.0 NaN 

을 그리고 당신이 정말로 원하는 경우 두 번 5를 반복 :

pd.DataFrame([df[0].values[:6], df[0].values[5:]]).T 


    0 1 
0 0.0 5.0 
1 1.0 6.0 
2 2.0 7.0 
3 3.0 NaN 
4 4.0 NaN 
5 5.0 NaN 
관련 문제