2017-01-26 6 views
0

私の関数は、各列(セル)が配列(1x6544)の1x4 dataframeにデータを書き込んでいます。ですから、内部配列(6544x1)のそれぞれをdataframe6544x4次元のように転置することです。1x4 pandasデータフレーム内に配列を入れ替える

どうすれば達成できますか?

ここdataframeの出力のサンプルです:

df = [(1,2,3,4),(a,b,c,d),(A,B,C,D,(0.25,0.655555,0.56,15.235)] 

私が見たいと望むことはこれです:あなたのデータは、このようなことが必要となる

df1 = [1,a,A,0.25 
     2,b,B,0.655555 
     3,c,C,0.56 
     4,d,D,15.235] 

答えて

1

In [1398]: data = [(1,2,3,4),('a','b','c','d'),('A','B','C','D'),(0.25,0.655555,0.56,15.235)] 

Eのデータフレームコンストラクタ、その後.values属性:

In [1399]: pd.DataFrame(data).T.values 
Out[1399]: 
array([[1, 'a', 'A', 0.25], 
     [2, 'b', 'B', 0.655555], 
     [3, 'c', 'C', 0.56], 
     [4, 'd', 'D', 15.235]], dtype=object) 

あなたは1次元配列としてそれをしたい場合、あなたはそれを再構築する必要があります。

In [1400]: pd.DataFrame(data).T.values.reshape(-1,) 
Out[1400]: 
array([1, 'a', 'A', 0.25, 
     2, 'b', 'B', 0.655555, 
     3, 'c', 'C', 0.56, 
     4, 'd', 'D', 15.235], dtype=object) 
0
>>> data = [('a','b','c','d'),('A','B','C','D'),(0.25,0.655555,0.56,15.235)] 
>>> pd.DataFrame(data) 
     0   1  2  3 
0  a   b  c  d 
1  A   B  C  D 
2 0.25 0.655555 0.56 15.235 
>>> pd.DataFrame(data).transpose() 
    0 1   2 
0 a A  0.25 
1 b B 0.655555 
2 c C  0.56 
3 d D 15.235 
関連する問題