转换嵌套列表的熊猫列

时间:2021-06-01 14:58:57

标签: python pandas

如何以以下形式获取嵌套列表的熊猫列:

[['6.65539026 -1.24900830'],
 ['6.65537977 -1.24882162'],
 ['6.65537977 -1.24882162'],
 ['6.65544653 -1.24888170'],
 ['6.65548515 -1.24828506'],
 ['6.65574646 -1.24843669'],
 ['6.65588522 -1.24853671'],
 ['6.65616179 -1.24875331'],
 ['6.65600824 -1.24891996'],
 ['6.65566158 -1.24909663'],
 ['6.65554523 -1.24906671']]

在要产生的数字之间用逗号分隔:

[[6.65539026, -1.24900830]
 [6.65537977, -1.24882162]
 [6.65537977 ,-1.24882162]
 [6.65544653 ,-1.24888170]]

1 个答案:

答案 0 :(得分:2)

如果您有这样的嵌套列表列:

df = pd.DataFrame({'col' : [[['6.65539026 -1.24900830'],
 ['6.65537977 -1.24882162'],
 ['6.65537977 -1.24882162'],
 ['6.65544653 -1.24888170'],
 ['6.65548515 -1.24828506'],
 ['6.65574646 -1.24843669'],
 ['6.65588522 -1.24853671'],
 ['6.65616179 -1.24875331'],
 ['6.65600824 -1.24891996'],
 ['6.65566158 -1.24909663'],
 ['6.65554523 -1.24906671']]]})

                                                                                                                                                                                                                                                                                              col
0  [[6.65539026 -1.24900830], [6.65537977 -1.24882162], [6.65537977 -1.24882162], [6.65544653 -1.24888170], [6.65548515 -1.24828506], [6.65574646 -1.24843669], [6.65588522 -1.24853671], [6.65616179 -1.24875331], [6.65600824 -1.24891996], [6.65566158 -1.24909663], [6.65554523 -1.24906671]]

那你可以试试:

k = df.col.explode().str[0].str.split(' ')
df['col'] = k.groupby(k.index).agg(list)

输出:

                                                                                                                                                                                 col
0  [[6.65539026, -1.24900830], [6.65537977, -1.24882162], [6.65537977, -1.24882162], [6.65544653, -1.24888170], [6.65548515, -1.24828506], [6.65574646, -1.24843669], [6.65588522, -1.24853671], [6.65616179, -1.24875331], [6.65600824, -1.24891996], [6.65566158, -1.24909663], [6.65554523, -1.24906671]]