gpt4 book ai didi

python - 从python中的.dat文件导入数组

转载 作者:太空宇宙 更新时间:2023-11-04 03:23:12 26 4
gpt4 key购买 nike

我有一个 .dat 文件,每行包含大约 1000 行

letter int int int int bool 值我正在尝试读取它,所以每一行都是我数组中的一个新行。目前我有 np.genfromtxt('myfile.dat') 这给了我

nan 23. 34. 23. 55. 1.

这几乎是正确的,但是 nan 应该是字母 't' 知道我如何读入正确的字母吗?还有我如何摆脱 .在每个数字之后?干杯

最佳答案

一种方法是定义一个新的dtype。例如:

import numpy as np

desc = np.dtype([('letter', 'S1'), ('v1', float), ('v2', float),
('v3', float), ('v4', float)])

并在 genfromtext 中使用:

data = np.genfromtxt(fobj, dtype=desc)

此文件内容:

x 23. 34. 23. 55. 1.
y 23. 34. 23. 55. 1.

会给你这个数据:

array([(b'x', 23.0, 34.0, 23.0, 55.0), (b'y', 23.0, 34.0, 23.0, 55.0)], 
dtype=[('letter', 'S1'), ('v1', '<f8'), ('v2', '<f8'), ('v3', '<f8'), ('v4', '<f8')])

这是一个 record array .您可以访问一行:

>>> data[0]
(b'x', 23.0, 34.0, 23.0, 55.0)

或一列:

>>> data['letter']
array([b'x', b'y'],
dtype='|S1')

或一个条目:

>>> data[0][1]
23.0
>>> data['v1'][1]
23.0

关于python - 从python中的.dat文件导入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33982171/

26 4 0
文章推荐: html -
文章推荐: c - 结构不取值
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com