这是我的测试_数据.csv公司名称:
A,1,2,3,4,5
B,6,7,8,9,10
C,11,12,13,14,15
A,16,17,18,19,20
我用下面的代码把它读给numpy数组:
^{pr2}$在主代码中,我有:
numpyArray = readCSVToNumpyArray('test_data.csv')
print(numpyArray)
结果是:
(array([['A', '1', '2', '3', '4', '5'],
['B', '6', '7', '8', '9', '10'],
['C', '11', '12', '13', '14', '15'],
['A', '16', '17', '18', '19', '20']],
dtype='|S2'))
但是数组中的所有数字都被视为string
,有没有一种好方法可以让它们存储为float
,而不必遍历每个元素并指定类型?在
谢谢!在
我在使用Pandas中读过它,它让您可以很容易地设置每列的数据类型。在
现在每个列都将具有适当的数据类型。在
^{pr2}$如果您还想在numpy数组中使用它,您可以只获取值。在
它仍然是'row'数组的对象,因为您不能将'A'变成float,但是各个值将根据需要成为float。在
最后,如果你只想要一个浮点数数组,那也很容易。。。只需将第一列以外的所有列作为数组输出,它将具有dtype:float而不是object。在
np.genfromtxt
可以轻松地将数据加载到结构化数组中。它将是一个1d数组,每个列都有一个字段:使用行列表模拟文件:
它从列值-strings和int推导出
^{pr2}$dtype
。字段按名称访问我还可以定义一个
dtype
,将字符串放入一个字段,将所有其他值放入另一个字段。在因为每行的第一个字符是一个字符串,所以在numpy中必须使用一个更灵活的类型,称为“object”。尝试使用此函数,看看这是否是您要查找的:
结果是:
^{pr2}$相关问题 更多 >
编程相关推荐