使用 genfromtxt 读取 txt 后的 Numpy 数据转换
假设我创建了一个包含这三行的文件
A\tB\tC
name1\t1\t2
name2\t1.1\t2.2
,其中 \t 对应于分隔符。我使用这个 numpy 函数读取它,
data = np.genfromtxt('test.txt', delimiter='\t', dtype=None, encoding='ascii')
数据是一个形状为 (3,3) 的 numpy nd 数组。我想将其重新排列成不同的数据结构,例如
fileHeader = data[0, :]
names = data[1:, 0]
values = data[1:, 1:]
fileHeader 和 names 应该是字符串列表或 np.str_ ,不带字符 ' 前导和尾随。 values 应该是 float64 的 nd 数组,不带字符 ' 开头和结尾。
我怎样才能进行这种转换?提前谢谢大家!
Let me say I created a file with this three lines
A\tB\tC
name1\t1\t2
name2\t1.1\t2.2
where \t corresponds to the delimiter. I read it using this numpy function
data = np.genfromtxt('test.txt', delimiter='\t', dtype=None, encoding='ascii')
Data is a numpy nd array with shape (3,3). I would like to rearrange it into different data structures such as
fileHeader = data[0, :]
names = data[1:, 0]
values = data[1:, 1:]
fileHeader and names should be list of strings or np.str_ without the character ' leading and trailing.
values should be a nd array of float64 without the character ' leading and trailing.
How can I make this conversion? Thank you all in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的代码,显示结果(您应该这样做!):
那么问题是什么?
'A'
是字符串的正常显示。False'
是尾随空字段的填充符(在最后一个\t
之后)。我们可以使用以下命令去掉
False
并将数字转换为浮点型:
Your code, showing the results (which you should have done!):
So what's the problem?
'A'
is the normal display of a string. TheFalse'
is filler for the trailing empty field (after the last\t
).We could stript off the
False
with:and convert the numbers to float with: