我創建了一些np.arrays與他們做一些計算。 (全部具有相同的大小[100,1]) 現在我想創建一個熊貓數據框,並且每個數組都應該是該DF的一列。 數組的名稱應該是DataFrame的標題。如何用幾個numpy 1d數組創建一個pandas DataFrame?
在Matlab中我會做很容易像:
表=表(數組1,數組2,ARRAY3,...);
我該怎麼在Python中做到這一點?
在此先感謝!
我創建了一些np.arrays與他們做一些計算。 (全部具有相同的大小[100,1]) 現在我想創建一個熊貓數據框,並且每個數組都應該是該DF的一列。 數組的名稱應該是DataFrame的標題。如何用幾個numpy 1d數組創建一個pandas DataFrame?
在Matlab中我會做很容易像:
表=表(數組1,數組2,ARRAY3,...);
我該怎麼在Python中做到這一點?
在此先感謝!
比方說,這些都是你的陣列:
arr1, arr2, arr3 = np.zeros((3, 100, 1))
arr1.shape
Out: (100, 1)
您可以使用hstack來堆疊起來,並通過所產生的二維陣列數據框的構造函數:
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
或名稱的列作爲arr1
, arr2
,...:
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
解決方案二維數組和DataFrame
構造:
df = pd.DataFrame(np.concatenate([arr1, arr2, arr3], axis=1), columns= ['a','b','c'])
啊對不起,我誤解你的問題。您需要重新設計陣列以使用我提供的語法。 –