我有以下名為的資料框df1:
| 一個 | 乙 | |
|---|---|---|
| 0 | 5 | 10 |
| 1 | 15 | 20 |
| 2 | 25 | 30 |
現在,假設我還有以下空白 3D 陣列(目前僅作為占位符創建):
array1 = np.zeros((10,3,2))
隨著df1在具有相同數量的行和列的,我怎么能代替一號“面板”(十“板”)array1與df1?
uj5u.com熱心網友回復:
試試這個:
array1[0] = df1
輸出:
>>> array1
array([[[ 5., 10.],
[15., 20.],
[25., 30.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
...
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]]])
uj5u.com熱心網友回復:
您可以直接將 DataFrame 分配給第一個“面板”:
array1[0] = df
print(array1)
# Output:
[[[ 5. 10.]
[15. 20.]
[25. 30.]]
[[ 0. 0.]
[ 0. 0.]
[ 0. 0.]]
[[ 0. 0.]
[ 0. 0.]
[ 0. 0.]]
# ...followed by 7 more identical 3x2 zero matrices
出于習慣,我首先嘗試了array1[0, :, :] = df.to_numpy(),據我所知,它給出了相同的結果,但其意圖更明確。
uj5u.com熱心網友回復:
你可以直接分配像richardec提到的
array1[0] = df1
你也可以試試這個來了解內部發生了什么
array=np.array(df)
array1[0]=array
兩種情況下的輸出相同
array([[[ 5., 10.],
[15., 20.],
[25., 30.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/398831.html
