python如何处理arff文件中的数据?
How to deal with data from arff file with python?
我对 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 文件:
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])