Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.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 Numpy数组?_Python_Numpy - Fatal编程技术网

如何将不同类型的数据从文件导入Python Numpy数组?

如何将不同类型的数据从文件导入Python Numpy数组?,python,numpy,Python,Numpy,假设我有一个文件myfile.txt包含: 1 2.0000 buckle_my_shoe 3 4.0000 margery_door 如何将数据作为int、float和string从文件导入numpy数组? 我的目标是: array([[1,2.0000,"buckle_my_shoe"], [3,4.0000,"margery_door"]]) 我一直在玩弄以下东西,但毫无用处: a = numpy.loadtxt('myfile.txt',dtype=(numpy.int_

假设我有一个文件
myfile.txt
包含:

1   2.0000  buckle_my_shoe
3   4.0000  margery_door
如何将数据作为int、float和string从文件导入numpy数组?

我的目标是:

array([[1,2.0000,"buckle_my_shoe"],
[3,4.0000,"margery_door"]])
我一直在玩弄以下东西,但毫无用处:

a = numpy.loadtxt('myfile.txt',dtype=(numpy.int_,numpy.float_,numpy.string_))
编辑:另一种方法可能是使用ndarray类型,然后进行转换

b = numpy.loadtxt('myfile.txt',dtype=numpy.ndarray)

    array([['1', '2.0000', 'buckle_my_shoe'],
       ['3', '4.0000', 'margery_door']], dtype=object)
我可以帮你。您可以使用的功能的文档如下所示

假设您的列是以制表符分隔的,这应该可以做到(改编自):

使用:

将numpy导入为np
np.genfromtxt('filename',dtype=None)
#数组([(1,2.0,'扣我的鞋'),(3,4.0,'玛格利门'),

#dtype=[('f0','只需将文件读入字符串,在每个
\n
换行符上拆分字符串,并用3-和2个空格分解这些内部。否则,您也可以使用正则表达式查找每行并将其拆分(组)。我认为更重要的问题是导入数据后您将如何处理这些数据。虽然您可以使用
numpy
处理非数字数据,但如果您想用它做任何有趣的事情,您可能会重新发明一些
熊猫
。有关更基本的解释,请参阅
df = DataFrame.from_csv('myfile.txt', sep='\t')
array = df.values # the array you are interested in
import numpy as np
np.genfromtxt('filename', dtype= None)
# array([(1, 2.0, 'buckle_my_shoe'), (3, 4.0, 'margery_door')], 
#       dtype=[('f0', '<i4'), ('f1', '<f8'), ('f2', '|S14')])