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