我有一个带有嵌套列表列的df。例如:df['list']=[['6.65539026-1.24900830'],['6.65537977-1.24882162'],['6.65537977-1.24882162'],[['6.65544653-1.24888170']]
我想转换此列以获得所需的输出[[6.65539026,-1.2490830],[6.65537977,-1.24882162],[6.55537977、-1.248821620],[66.65544653,-1.24888170]]
基本上删除嵌套列表周围的引号,并用逗号替换中间的空格。
试试这个:
df = pd.DataFrame({'list':[[['6.65539026 -1.24900830'],['6.65537977 -1.24882162'],['6.65537977 -1.24882162'],['6.65544653 -1.24888170']]]})
df['list'].explode(ignore_index=True).str[0].str.split()
输出:
0 [6.65539026, -1.24900830]
1 [6.65537977, -1.24882162]
2 [6.65537977, -1.24882162]
3 [6.65544653, -1.24888170]
Name: list, dtype: object
df = pd.DataFrame({'list':[['6.65539026 -1.24900830'],['6.65537977 -1.24882162'],['6.65537977 -1.24882162'],['6.65544653 -1.24888170']]})
df['list_new'] = df['list'].str[0].str.strip('[|]').str.split(' ')
输出:
list list_new
0 [6.65539026 -1.24900830] [6.65539026, -1.24900830]
1 [6.65537977 -1.24882162] [6.65537977, -1.24882162]
2 [6.65537977 -1.24882162] [6.65537977, -1.24882162]
3 [6.65544653 -1.24888170] [6.65544653, -1.24888170]