我的目標是用資料框制作一個 numpy 陣列。有 2 個資料框,每個資料框有 2 行和 5 列(如果它們是 numpy 陣列,它們的形狀是(2,5)每個)。有沒有辦法從這些資料幀中制作具有 (2, 2, 5) 形狀的 numpy 陣列?(有 2 個具有 (2,5) 形狀的資料幀,所以它是 (2,2,5)。)
import pandas as pd
import numpy as np
A1 = pd.DataFrame({'O':[2,4],'H':[4,8],'L':[1,2],'V':[100, 120],'C':[3,7]}) # shape (2,5) Table
A2 = pd.DataFrame({'O':[20,40],'H':[40,80],'L':[10,20],'V':[1000, 1200],'C':[30,70]}) # shape (2,5) Table
# Is there a way to make (2, 2, 5) numpy array from dataframe A1, A2?
uj5u.com熱心網友回復:
只需連接然后重塑
pd.concat([A1,A2]).values.reshape(2,2,5)
Out[398]:
array([[[ 2, 4, 1, 100, 3],
[ 4, 8, 2, 120, 7]],
[[ 20, 40, 10, 1000, 30],
[ 40, 80, 20, 1200, 70]]])
pd.concat([A1,A2]).values.reshape(2,2,5).shape
Out[399]: (2, 2, 5)
uj5u.com熱心網友回復:
一種方法是使用np.stack([])
import numpy as np
np.stack([A1.values, A2.values])
np.stack([A1.values, A2.values]).shape
輸出:(2、2、5)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/433534.html
上一篇:從文本檔案創建字典
下一篇:Pandas查詢多個資料框
