【发布时间】:2020-05-01 15:41:13
【问题描述】:
我有一个看起来像这样的嵌套列表。
features =
[['0:0.084556', '1:0.138594', '2:0.094304\n'],
['0:0.101468', '4:0.138594', '5:0.377215\n'],
['0:0.135290', '2:0.277187', '3:0.141456\n']
]
嵌套列表中的每个列表都是以逗号分隔的行。 “:”的左侧是列名,右侧是行值。
我想将其转换为 pandas 数据框,如下所示:
f_0000 | f_0001 | f_0002 | f_0003 | f_0004 | f_0005
---------------------------------------------------------------
0.084556 | 0.138594 | 0.094304 | 0.000000 | 0.000000 | 0.000000
0.101468 | 0.000000 | 0.000000 | 0.000000 | 0.138594 | 0.377215
0.135290 | 0.000000 | 0.277187 | 0.141456 | 0.000000 | 0.000000
有人可以帮我解决这个问题吗?
原始 DF(但对我来说,它在 pd.read_clipboard 上的格式不正确..)
ex_id labels features
0 0 446,521,1149,1249,1265,1482 0:0.084556 1:0.138594 2:0.094304 3:0.195764 4:...
1 1 78,80,85,86 0:0.050734 1:0.762265 2:0.754431 3:0.065255 4:...
2 2 457,577,579,640,939,1158 0:0.101468 1:0.138594 2:0.377215 3:0.130509 4:...
3 3 172,654,693,1704 0:0.186024 1:0.346484 2:0.141456 3:0.195764 4:...
4 4 403,508,1017,1052,1731,3183 0:0.135290 1:0.277187 2:0.141456 3:0.065255 4:...
【问题讨论】:
-
这些字符串在列表中吗?或者这是文本文件中的一些“列表”?
-
这最初是一个数据框,将列表中的所有项目作为单个列。我做了
list(train['features'].str.split(' '))将其转换为嵌套列表。 -
特征 = [[0:0.084556, 1:0.138594, 2:0.094304\n], [0:0.101468, 4:0.138594, 5:0.377215\n], [0:0.135290, 2: 0.277187, 3:0.141456\n] ] 这不是一个合适的列表,您可以发送实际列表。
-
@SachinGupta 对此表示歉意。
-
您可以添加原始数据框的示例吗?从那里拿走可能会更快。
标签: python pandas data-processing