我对python很新。我正在使用python读取arff文件:

import arff

for row in arff.load('cpu.arff'):
    x = row
    print(x)


样本输出的一部分类似于以下格式:

<Row(125.0,256.0,6000.0,256.0,16.0,128.0,198.0)>
<Row(29.0,8000.0,32000.0,32.0,8.0,32.0,269.0)>
<Row(29.0,8000.0,32000.0,32.0,8.0,32.0,220.0)>
<Row(29.0,8000.0,32000.0,32.0,8.0,32.0,172.0)>
<Row(29.0,8000.0,16000.0,32.0,8.0,16.0,132.0)>
<Row(26.0,8000.0,32000.0,64.0,8.0,32.0,318.0)>
<Row(23.0,16000.0,32000.0,64.0,16.0,32.0,367.0)>


实际上,只有最后一列数据是标签,其余数据是属性。我想知道如何通过使用数组保存它们?
因为我想将最后一列的数据分配为y,将前六列的数据分配为我的x,然后我将对arff文件中的数据进行交叉验证。

还是有什么方法可以通过属性和标签自动从arff文件中分离数据?

最佳答案

来自arff模块support typical python array slicing的行对象,因此您可以轻松地将数据与标签分开

import arff

X = []
y = []

for row in arff.load('cpu.arff'):
    X.append(row[:-1])
    y.append(row[-1])

关于python - 如何使用python处理来自arff文件的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33600053/

10-11 22:48
查看更多