文本数据如下:
a1 1 2 3 4 5 6 7 8 9 10
b2 2 3 4 5 6 7 8 9 10 11
c3 3 4 5 6 7 8 9 10 11 12
d4 4 5 6 7 8 9 10 11 12 13
e5 5 6 7 8 9 10 11 12 13 14
f6 6 7 8 9 10 11 12 13 14 15
g7 7 8 9 10 11 12 13 14 15 16
h8 8 9 10 11 12 13 14 15 16 17
i9 9 10 11 12 13 14 15 16 17 18
j10 10 11 12 13 14 15 16 17 18 19
如何在没有第一列的情况下将此文本文件读入np.array(第一列是每行的名称)?非常感谢。
PS。我试过np.loadtxt(“filename”)并得到“无法将字符串转换为浮点数:b'a'”错误
答案 0 :(得分:2)
np.loadtxt
就可以正常工作。
>>> a = np.loadtxt("file_name", usecols=range(1,11), dtype=np.float32)
>>> a
array([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],
[ 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.],
[ 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.],
[ 4., 5., 6., 7., 8., 9., 10., 11., 12., 13.],
[ 5., 6., 7., 8., 9., 10., 11., 12., 13., 14.],
[ 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.],
[ 7., 8., 9., 10., 11., 12., 13., 14., 15., 16.],
[ 8., 9., 10., 11., 12., 13., 14., 15., 16., 17.],
[ 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.],
[ 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.]])
答案 1 :(得分:-1)
import numpy as np
b = []
with open('data.txt') as infile:
lines = infile.readlines()
for line in lines:
for n in line.split()[1:]:
b.append(int(n))
c = np.array(b)