我需要通过for循环在数组的每一行添加数据。为此我想到了使用vstack。你知道吗
但是由于我有两种类型的数组(大小不同),我想定义列号,只定义列号,因为我不知道我将有多少行。具有预定义的NaN成员的数组,以便在之后有这样一个数组:
Array=
[ x , x , x , NaN,NaN] # in case size is 3
[ x, x , x , x , x] # in case size is 5
代码是:
Array=[]
forArray=[]
for line in searchlines:
Array=re.findall(r'[-+]?\d*\.\d+|\d+', line)
size=len(Array)
if size == 3:
[G,x,y]= Array
if size == 5:
[G,x,y,i,j]= Array
forArray=np.vstack((forArray,Array))
我试过:
if size == 3:
[G,x,y, NaN, NaN]= Array
但不起作用。。。。。。。。。。。你知道吗
我不知道你想做什么,但我会批评你的代码
在最后一行,
forArray
是一个空列表,Array
有3或5个值生成ValueError,因为这两个列表的长度不匹配。你知道吗
你为什么用
vstack
?到目前为止,您正在使用列表。你知道吗说“不起作用”而不说什么是错误的是不礼貌的-错误的结果,具体的错误信息,等等?你知道吗
运行良好,将
NaN
设置为5。但是只有3个值,我得到ValueError: need more than 3 values to unpack
。这是基本的Python—解包时,需要在=。你知道吗你想用这个表达式做什么?你知道吗
从
numpy
和数组中退一步,并尝试在Python列表中正确使用它。你知道吗相关问题 更多 >
编程相关推荐