2017-01-26 37 views
0

我的功能是將數據寫入1x4 dataframe,其中每列(單元)是一個數組(1x6544)。所以,我需要做的是轉置每個內部數組(6544x1),這樣它就是一個不錯的dataframe尺寸的6544x4尺寸。在1x4熊貓數據幀內移位數組

我該如何做到這一點?

這裏是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)] 

Call th Ë數據框中構造函數,然後將.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) 

如果你想把它當作一維數組,你需要重塑它:

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