Python,如何使用垂直堆叠的列标题,@ relation,@ attribute,@ data导入数据集?

时间:2017-06-24 09:11:21

标签: csv pandas dataset arff

我正在尝试从timeseriesclassification.com加载数据集,但数据集的格式是我以前从未见过的。

.csv文件如下所示,

@relation Wine
@attribute att0 numeric
@attribute att1 numeric
@attribute target {1    2}
@data   
0,1,1
0,0,0
1,0,0

这是数据的格式化方式。

att0,att1,target
0,1,1
0,0,0
1,0,0

这是我目前的策略:

  1. 用文件('filename.csv)
  2. 读取文件
  3. 计算@data出现之前的行数
  4. 删除所有标头,然后使用pandas
  5. 导入数据
  6. 添加新列名称
  7. 有谁知道这个数据集的格式是什么类型?也有人能指出我可以引用不同数据集格式的资源。

2 个答案:

答案 0 :(得分:3)

使用Scipy的scipy.io.arff.loadarff来阅读ARFF个文件。

In [94]: from scipy.io.arff import loadarff

In [95]: dataset = loadarff(open('filename.csv','r'))

In [96]: df = pd.DataFrame(dataset[0], columns=dataset[1].names())

In [97]: df
Out[97]:
   att0  att1 target
0   0.0   1.0      1
1   0.0   0.0      0
2   1.0   0.0      0

答案 1 :(得分:0)

该格式是.arff(属性相关文件格式)文件。您可以使用scipy.io.arff python模块阅读它。