将 .data 文件转换为 numpy 数组
Converting .data file into numpy arrays
我的 file.data 看起来像这样:
"3.0,1.5,0\n
4.6,0.7,1\n
5.8,2.7,2"
我想将这些数据加载到两个 numpy 数组中,这样它最终看起来像这样:
X = [ [3.0, 1.5],
[4.6, 0.7],
[5.8, 2.7] ]
y = [0, 1, 2]
如果我执行以下操作...
fname = open("file.data", "r")
for line in fname.readlines():
print(line)
...我可以逐行读取字符串,但是分隔这些值并将它们放入如上所示的两个 numpy 数组中的最佳方法是什么?
numpy 中是否有真正有效地执行此操作的好模块或函数?
- 如果您的数据文件是一个带有分隔符的简单 txt 文件,那么您可以使用 numpy.loadtxt 一次加载整个数据
import numpy as np
data = np.loadtxt("file.data",delimiter=',')
X = data[:,0:2]
Y = data[:,2]
- 如果你想逐行阅读,你可以尝试使用 numpy.fromstring,它将每个字符串输出到一个数组中
import numpy as np
data =[]
fname = open("file.data", "r")
for line in fname.readlines():
data.append(fromstring(line,sep=','))
data_array = np.array(data)
X = data_array[:,0:2]
Y = data_array[:,2]
我的 file.data 看起来像这样:
"3.0,1.5,0\n
4.6,0.7,1\n
5.8,2.7,2"
我想将这些数据加载到两个 numpy 数组中,这样它最终看起来像这样:
X = [ [3.0, 1.5],
[4.6, 0.7],
[5.8, 2.7] ]
y = [0, 1, 2]
如果我执行以下操作...
fname = open("file.data", "r")
for line in fname.readlines():
print(line)
...我可以逐行读取字符串,但是分隔这些值并将它们放入如上所示的两个 numpy 数组中的最佳方法是什么?
numpy 中是否有真正有效地执行此操作的好模块或函数?
- 如果您的数据文件是一个带有分隔符的简单 txt 文件,那么您可以使用 numpy.loadtxt 一次加载整个数据
import numpy as np
data = np.loadtxt("file.data",delimiter=',')
X = data[:,0:2]
Y = data[:,2]
- 如果你想逐行阅读,你可以尝试使用 numpy.fromstring,它将每个字符串输出到一个数组中
import numpy as np
data =[]
fname = open("file.data", "r")
for line in fname.readlines():
data.append(fromstring(line,sep=','))
data_array = np.array(data)
X = data_array[:,0:2]
Y = data_array[:,2]