arrays - 无法将条目集合附加到 NumPy 数组
问题描述
我有以下 numpy 数组:
R = np.array([-4, -10, 0, 8, 15, 22, 3], dtype=float)
B = np.array([4, -10, 0, 8, 15, 5, 1], dtype=float)
G = np.array([0, -10, 0, 8, 15, 2, 38], dtype=float)
我需要将这 3 个数组中的每一个的第 i 个元素附加到另一个数组 RBG 的第 i 个位置。这就是我尝试这样做的方式:
RBG = np.empty((7,3))
for i,c in enumerate(R):
np.append(RBG, (R[i], B[i], G[i]) )
#Only for debugging purpose.Illustrates the desired format.
print("R={} B = {} G ={} i={}".format(R[i],B[i],G[i],i))
这是打印出来的:
R=-4.0 B = 4.0 G =0.0 i=0
R=-10.0 B = -10.0 G =-10.0 i=1
R=0.0 B = 0.0 G =0.0 i=2
R=8.0 B = 8.0 G =8.0 i=3
R=15.0 B = 15.0 G =15.0 i=4
R=22.0 B = 5.0 G =2.0 i=5
R=3.0 B = 1.0 G =38.0 i=6
但是,在打印结果数组时,RBG:
[[4.4943389e-316 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]
[0.0000000e+000 0.0000000e+000 0.0000000e+000]]
为什么会这样?任何想法?
解决方案
你可以这样实现
R = np.array([-4, -10, 0, 8, 15, 22, 3], dtype=float)
B = np.array([4, -10, 0, 8, 15, 5, 1], dtype=float)
G = np.array([0, -10, 0, 8, 15, 2, 38], dtype=float)
RBG = np.array([R,B,G]).transpose()
print(RBG)
推荐阅读
- node.js - MongoDB Stitch - 如何在更新时将数据类型保持为 int(不更改为 double)?
- c# - 根据不同的字段/整数进行选择和分组
- git - 如何查看我推送的所有远程分支
- mysql - 表univ/#sql-bf4_4的外键约束错误:
- python-3.x - 如何使用 .aws 中的所有凭据执行 Boto3 脚本?
- nextcloud - 如何在 javascript 中获取 nextcloud 应用程序路径的路径
- firebase - 为什么颤振会为类内的 Firestore 方法返回错误,但在小部件内却很好?
- python - 如何将类构建到 Python 模块中
- python - AttributeError: 'list' object has no attribute 'SeqRecord' - 在尝试使用 Biopython>SeqIO 从 fasta 文件中切片多个序列时
- python - 字符串上的条(字符)