我有以下名为的资料框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.]]])
0 评论