2017-02-09 183 views
0

我收到一小段代碼,它只能在熊貓數據框中作爲輸入使用。我目前有一個非常大的numpy數組。我需要將其轉換爲熊貓數據框。Python將大型numpy數組轉換爲熊貓數據框

Dataframe將288行(289個列名)和1801列。我有一個大小爲1801的數組,它將成爲數據框中的所有列名稱。然後我有一個大小的數組(288),它將填充第一列。然後我有一組形狀(1800,288),將填充2-1801列。有沒有一種簡單的方法可以把它變成一個數據框,而不需要單獨定義所有的1801列?

我知道我可以定義像column2 = array [0 ,:],column3 = array [1 ,:]這樣的列,但是對於1801列來說這將是很多工作。

回答

4

您可以直接傳遞一個numpy的陣列到數據幀的構造函數:

In [11]: a = np.random.rand(3, 5) 

In [12]: a 
Out[12]: 
array([[ 0.46154984, 0.08813473, 0.57746049, 0.42924157, 0.34689139], 
     [ 0.29731858, 0.83300176, 0.15884604, 0.44753895, 0.56840054], 
     [ 0.02479636, 0.76544594, 0.24388046, 0.06679485, 0.94890838]]) 

In [13]: pd.DataFrame(a) 
Out[13]: 
      0   1   2   3   4 
0 0.461550 0.088135 0.577460 0.429242 0.346891 
1 0.297319 0.833002 0.158846 0.447539 0.568401 
2 0.024796 0.765446 0.243880 0.066795 0.948908 

In [14]: pd.DataFrame(a.T) 
Out[14]: 
      0   1   2 
0 0.461550 0.297319 0.024796 
1 0.088135 0.833002 0.765446 
2 0.577460 0.158846 0.243880 
3 0.429242 0.447539 0.066795 
4 0.346891 0.568401 0.948908 
相關問題