2016-11-24 10 views
0

の存在下で、パンダのデータフレームを再構築する方法:私はこのようになりますパンダのデータフレームがあった場合でも、欠落したデータ

df=pandas.DataFrame(range(8)) 



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

を5行2列にこのフレームを再構築するための最良の方法だろう何私は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の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 
関連する問題