簡體   English   中英

如何用幾個numpy 1d數組創建一個pandas DataFrame?

[英]How to create a pandas DataFrame with several numpy 1d arrays?

我已經創建了一些np.arrays來與它們進行一些計算。 (所有都具有相同的大小[100,1])現在我想創建一個pandas Dataframe,每個數組應該是該DF的一列。 數組的名稱應該是DataFrame的標頭。

在Matlab中,我很容易就這樣做:

Table = table(array1,array2,array3,...);

我怎么能用Python做到這一點?

提前致謝!

讓我們說這些是你的數組:

arr1, arr2, arr3 = np.zeros((3, 100, 1))

arr1.shape
Out: (100, 1)

您可以使用hstack來堆疊它們並將生成的2D數組傳遞給DataFrame構造函數:

df = pd.DataFrame(np.hstack((arr1, arr2, arr3)))

df.head()
Out: 
     0    1    2
0  0.0  0.0  0.0
1  0.0  0.0  0.0
2  0.0  0.0  0.0
3  0.0  0.0  0.0
4  0.0  0.0  0.0

或者將列命名為arr1arr2 ,...:

df = pd.DataFrame(np.hstack((arr1, arr2, arr3)), 
                  columns=['arr{}'.format(i+1) for i in range(3)])

這使

df.head()
Out: 
   arr1  arr2  arr3
0   0.0   0.0   0.0
1   0.0   0.0   0.0
2   0.0   0.0   0.0
3   0.0   0.0   0.0
4   0.0   0.0   0.0

使用numpy.concatenate為2d數組和DataFrame構造函數的解決方案:

df = pd.DataFrame(np.concatenate([arr1, arr2, arr3], axis=1), columns= ['a','b','c'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM