gpt4 book ai didi

python - 调整具有特定值的数组的大小

转载 作者:行者123 更新时间:2023-11-28 16:32:30 25 4
gpt4 key购买 nike

我有一个数组阶段

 [ (3.0535400914168154, 0.371345899229, 0.312953794281, -0.0125231427371, 0.0)
(3.056684825749555, 0.373971853521, 0.313682391117, -0.0264543909236, 0.0)
(3.0598295600822953, 0.376861295611, 0.314535588286, -0.041169303628, 0.0)]

我想用 resize 方法调整大小

phase.resize(MAXLINE)

我得到了这个结果

[ (3.0535400914168154, 0.371345899229, 0.312953794281, -0.0125231427371, 0.0)
(3.056684825749555, 0.373971853521, 0.313682391117, -0.0264543909236, 0.0)
(3.0598295600822953, 0.376861295611, 0.314535588286, -0.041169303628, 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)]

我想知道是否可以设置一个特定值(Nan 或 -99999)而不是默认值 0.0

最佳答案

假设您希望数组的形状为 (MAXLINE,5) 并且您的数组是二维数组而不是元组列表(正如您问题中的格式建议),这会起作用:

import numpy as np
MAXLINE = 4
a=np.array([ [3.0535400914168154, 0.371345899229, 0.312953794281, -0.0125231427371, 0.0],
[3.056684825749555, 0.373971853521, 0.313682391117, -0.0264543909236, 0.0],
[3.0598295600822953, 0.376861295611, 0.314535588286, -0.041169303628, 0.0]])
np.append(a,np.ones((MAXLINE-a.shape[0],a.shape[1]))*np.NAN,axis=0)

产生:

array([[ 3.05354009,  0.3713459 ,  0.31295379, -0.01252314,  0.        ],
[ 3.05668483, 0.37397185, 0.31368239, -0.02645439, 0. ],
[ 3.05982956, 0.3768613 , 0.31453559, -0.0411693 , 0. ],
[ nan, nan, nan, nan, nan]])

解释:

np.ones() 采用形状参数,因此我添加了足够多的行来构成最终形状 (MAXLINE,5),其中 5 是数字a 的列数(即:a.shape[1])。

np.append() 中,axis=0 参数告诉 numpy 添加行。如果你没有这个,它会展平数组。

当然,您可以将 np.NAN 替换为您喜欢的任何值。

关于python - 调整具有特定值的数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30503792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com