在python中加载包含字符串的txt文件作为矩阵

时间:2015-10-24 01:24:24

标签: python numpy matrix

我有一个包含int,string和float的.txt文件。如何在保留字符串的同时将此.txt文件作为矩阵导入?

数据集包含:

16  disk    11  10.29   4.63    30.22  nan
79  table   11  20.49   60.60   20.22  nan
17  disk    11  22.17   0.71    10.37  nan

我用过:

data=np.loadtxt("/home/Desktop/dataset.txt", delimiter=',') 

结果是:

items = [conv(val) for (conv, val) in zip(converters, vals)] 
ValueError: could not convert string to float: disk

在我用过的另一次尝试中:

data = np.genfromtxt('/home/Desktop/dataset.txt', delimiter=",")

结果是:

16.0    nan 11  10.29   4.63    30.22
79.0    nan 11  20.49   60.60   20.22
17.0    nan 11  22.17   0.71    10.37

1 个答案:

答案 0 :(得分:0)

无法将不同类型的值(例如str和float)加载到numpy数组。 您可以使用pandas包中的read_csv函数代替:

import pandas as pd
data = pd.read_csv("/home/Desktop/dataset.txt")

Pandas会将数据加载到DataFrame,您可以按名称访问列和行。您可以阅读有关pandas here

的更多信息