如何检查嵌套列表是否存在和嵌套(如果存在)?

时间:2019-01-16 00:34:53

标签: python-3.x pandas dataframe nested

我有一个单行df,如下所示:

id         tags
1         [[[band_music, fun], tv], movies]

有时df可能看起来像这样,具体取决于来源:

id         tags
1         [[[band_music, fun], tv]

或类似这样:

id         tags
1         [band_music, fun]

或类似这样:

id         tags
1         fun

如何检查列是否存在嵌套列表并将它们嵌套,使它们像这样:

或类似这样:

id         tags
1         [band_music, fun,movies,tv]

2 个答案:

答案 0 :(得分:3)

使用findall

df.tags.astype(str).str.findall("'([^']*)'")
0    [band_music, fun, tv]
Name: tags, dtype: object

答案 1 :(得分:1)

尝试:

import re
df['tags'][1] = re.split(',', str(df['tags'][1]).replace('[','').replace(']', ''))

输出:

id  tags
1   ['band_music', 'fun', 'tv', 'movies']