将矩阵中的所有值列为 1 个完整列表
listing all the values inside a matrix into a 1 whole list
如何将矩阵 ckpot_p_shell_matrix
的所有值放入 1 个完整列表中?我想要列表中的值,这样我就可以绘制这些值的直方图。
ckpot_p_shell_matrix
是一个 numpy.ndarray 二维矩阵,其形状为 (28, 108),包含 0 ~ 10 之间的值。
>>> type(ckpot_p_shell_matrix)
numpy.ndarray
>>> ckpot_p_shell_matrix.shape
(28, 108)
>>> ckpot_p_shell_matrix
array([[0.2407545, 0.3681921, 0.5176657, ..., 2.9999998, 1.5 ,
2.9316723],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
...,
[3.5468006, 2.0326045, 2.42928 , ..., 4.5 , 5.25 ,
3.5797157],
[0.7088 , 1.5522 , 1.0474 , ..., 4. , 3. ,
3.95444 ],
[5.2912 , 4.4478 , 4.9526 , ..., 6. , 7. ,
6.04556 ]])
使用 numpy .flatten()
import numpy as np
ckpot_p_shell_matrix = np.array([[0.2407545, 0.3681921, 0.5176657, ..., 2.9999998, 1.5 ,
2.9316723],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
...,
[3.5468006, 2.0326045, 2.42928 , ..., 4.5 , 5.25 ,
3.5797157],
[0.7088 , 1.5522 , 1.0474 , ..., 4. , 3. ,
3.95444 ],
[5.2912 , 4.4478 , 4.9526 , ..., 6. , 7. ,
6.04556 ]])
print(ckpot_p_shell_matrix.flatten())
输出:
np.array([[0.2407545, 0.3681921, 0.5176657, ..., 2.9999998, 1.5 ,
您可以使用 .flatten()
方法,然后使用内置 list()
函数
将其转换为 list
result=list(ckpot_p_shell_matrix.flatten())
如果您尝试打印它,缓冲区将只在某个点停止而不显示其余部分。
可以使用上面提到的flatten(),或者reshape(-1):
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print(a.flatten())
print(a.reshape(-1))
输出:
[1 2 3 4 5 6 7 8 9]
[1 2 3 4 5 6 7 8 9]
如何将矩阵 ckpot_p_shell_matrix
的所有值放入 1 个完整列表中?我想要列表中的值,这样我就可以绘制这些值的直方图。
ckpot_p_shell_matrix
是一个 numpy.ndarray 二维矩阵,其形状为 (28, 108),包含 0 ~ 10 之间的值。
>>> type(ckpot_p_shell_matrix)
numpy.ndarray
>>> ckpot_p_shell_matrix.shape
(28, 108)
>>> ckpot_p_shell_matrix
array([[0.2407545, 0.3681921, 0.5176657, ..., 2.9999998, 1.5 ,
2.9316723],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
...,
[3.5468006, 2.0326045, 2.42928 , ..., 4.5 , 5.25 ,
3.5797157],
[0.7088 , 1.5522 , 1.0474 , ..., 4. , 3. ,
3.95444 ],
[5.2912 , 4.4478 , 4.9526 , ..., 6. , 7. ,
6.04556 ]])
使用 numpy .flatten()
import numpy as np
ckpot_p_shell_matrix = np.array([[0.2407545, 0.3681921, 0.5176657, ..., 2.9999998, 1.5 ,
2.9316723],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
[0. , 0. , 0. , ..., 0. , 0. ,
0. ],
...,
[3.5468006, 2.0326045, 2.42928 , ..., 4.5 , 5.25 ,
3.5797157],
[0.7088 , 1.5522 , 1.0474 , ..., 4. , 3. ,
3.95444 ],
[5.2912 , 4.4478 , 4.9526 , ..., 6. , 7. ,
6.04556 ]])
print(ckpot_p_shell_matrix.flatten())
输出:
np.array([[0.2407545, 0.3681921, 0.5176657, ..., 2.9999998, 1.5 ,
您可以使用 .flatten()
方法,然后使用内置 list()
函数
list
result=list(ckpot_p_shell_matrix.flatten())
如果您尝试打印它,缓冲区将只在某个点停止而不显示其余部分。
可以使用上面提到的flatten(),或者reshape(-1):
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print(a.flatten())
print(a.reshape(-1))
输出:
[1 2 3 4 5 6 7 8 9]
[1 2 3 4 5 6 7 8 9]