我有一个libsvm格式文件,其中包含类似
1.00000 id:0 1:50.44424 2:2.05040 3:0.00000 4:0.00000 5:0.00000 6:0.98826 7:1.00000 8:0.00000 9:0.50000 10:1.00000 11:1.00000 12:0.00000 13:4.00000 14:2.93121
11.0000 id:0 1:40.23844 2:2.39374 3:0.00000 4:0.00000 5:0.00000 6:0.92109 7:1.00000 8:0.00000 9:0.50000 10:0.44615 11:1.00000 12:0.00000 13:4.00000 14:5.80207
我想将此数据转换为这种格式,将每个要素的值提取到一列中。
1.0000 0 50.44424 2.05040 0.00000 0.00000 0.00000 0.98826 1.00000 0.00000 0.50000 1.00000 1.00000 0.00000 4.00000 2.93121
11.0000 0 40.23844 2.39374 0.00000 0.00000 0.00000 0.92109 1.00000 0.00000 0.50000 0.44615 1.00000 0.00000 4.00000 5.80207
我试图在python中使用普通文件读取,因为我不确定我们是否可以在pandas dataframe中进行这种操作。但是我正在努力正确地解析这些值。例如,即使我尝试使用下面的代码提取标签。
writer = csv.writer( open( output_file, 'wf' ))
with open('train-en-us.txt') as f:
for line in f:
label = line[0]
print(f'{label}')
我懂了
1
1
不
1.0000
11.0000
我也试过 line = map(lambda x:tuple(x.split(“:”)),line) print(f'{list(line)[0]}')
在熊猫中进行此操作更好还是在python中有快速方法