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

2024-05-26 09:19:24 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个文件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)

Tags: numpytxtstringmyfloatmyfilearrayint
2条回答

Pandas可以帮你。您可以使用的函数的文档是here

假设您的列是制表符分隔的,那么这样做就可以了(改编自this question):

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')])

相关问题 更多 >