假设我有一个文件 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.genfromtxt
:
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')])
关于python - 如何将文件中不同类型的数据导入 Python Numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15481523/