Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:为什么可以';在这种情况下,我是否给数组赋值?_Python_Arrays_Numpy_Variable Assignment - Fatal编程技术网

Python:为什么可以';在这种情况下,我是否给数组赋值?

Python:为什么可以';在这种情况下,我是否给数组赋值?,python,arrays,numpy,variable-assignment,Python,Arrays,Numpy,Variable Assignment,数据[0,0]是的“高度”,我想用的“高度1”替换它。但是上面的代码不起作用。它返回的结果如下: import numpy as np data = np.array([['Height', 'Weight'],['165', '48'],['168', '50'],['173', '53']]) data[0,0] = data[0,0] + "_1" “高度” 数据[0,0]元素保持不变。如果我直接替换它而不涉及它本身,它仍然不起作用 data[0,0] 结果: data[0,0] =

数据[0,0]的“高度”,我想用的“高度1”替换它。但是上面的代码不起作用。它返回的结果如下:

import numpy as np

data = np.array([['Height', 'Weight'],['165', '48'],['168', '50'],['173', '53']])
data[0,0] = data[0,0] + "_1"
“高度”

数据[0,0]元素保持不变。如果我直接替换它而不涉及它本身,它仍然不起作用

data[0,0]
结果:

data[0,0] = "Height" + "_1"
“高度”

但是,如果我将其替换为除“高度”以外的一些字符,它就可以工作了

data[0,0]
结果:

data[0,0] = "str" + "_1"
“stru_1”


我拿这个案子来解释我遇到的问题。在我的工作中,我必须参考数组本身,因为我需要替换不符合某些要求的元素。有人能解决这个问题吗?谢谢。

为数组指定对象类型,例如:

data[0,0]
那么,
a[0][0]+=''u 1'
将实现此功能,您将获得:

a = np.array([['Height', 'Weight'],['165', '48'],['168', '50'],['173', '53']],dtype=object)

问题是您的数组是
dtype('我不认为你应该混合字符串和整数together@jamylak确切地说,OP在这里只使用字符串。@juanpa.arrivillaga我知道,我的意思是OP不应该在数据中包含列标题,数字不应该保存为strings@jamylak我同意,但在这种情况下,最好是具体一点,或者指定一个更长的时间字符串数据类型,例如U20
array([['Height_1', 'Weight'],
       ['165', '48'],
       ['168', '50'],
       ['173', '53']], dtype=object)
>>> data = np.array([['Height', 'Weight'],['165', '48'],['168', '50'],['173', '53']])
>>> data.dtype
dtype('<U6')
>>> 
>>> data[0,0] = "123456789"
>>> data
array([['123456', 'Weight'],
       ['165', '48'],
       ['168', '50'],
       ['173', '53']], 
      dtype='<U6')
>>> 
>>> data
array([['Height', 'Weight'],
       ['165', '48'],
       ['168', '50'],
       ['173', '53']], 
      dtype='<U20')
>>> data[0,0]='Height_1'
>>> data
array([['Height_1', 'Weight'],
       ['165', '48'],
       ['168', '50'],
       ['173', '53']], 
      dtype='<U20')
>>> 
>>> data = np.array([['Height', 'Weight'],['165', '48'],['168', '50'],['173', '53'], ['42','88']], dtype='U20')
>>> data.nbytes
800
>>> data = np.array([['Height', 'Weight'],['165', '48'],['168', '50'],['173', '53'], ['42','88']], dtype='U6')
>>> data.nbytes
240
>>> data = np.array([['Height', 'Weight'],['165', '48'],['168', '50'],['173', '53'], ['42','88']], dtype='S20')
>>> data.nbytes
200
>>>