【问题标题】:Python, how to import datasets with vertically stacked columns headers, @relation,@attribute,@data?Python,如何导入具有垂直堆叠列标题、@relation、@attribute、@data 的数据集?
【发布时间】:2017-11-27 19:43:52
【问题描述】:

我正在尝试从 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. 用file('filename.csv)读取文件
  2. 计算@data 出现之前的行数
  3. 删除所有标题,并使用 pandas 导入数据
  4. 添加新的列名

有谁知道这个数据集的格式是什么类型的?也有人可以指出我可以参考不同数据集格式的资源。

【问题讨论】:

    标签: csv pandas dataset arff


    【解决方案1】:

    使用 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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2018-05-30
        • 2023-02-23
        • 2016-10-27
        • 2018-11-26
        • 1970-01-01
        • 2021-03-31
        • 1970-01-01
        • 1970-01-01
        • 2021-09-24
        相关资源
        最近更新 更多