我有一个pandas数据帧,如下所示:
字母 | 日期 |
---|---|
字母:a' | 2021 |
"字母:a,b,c"> | 2019 |
字母:a,b' | 2017 |
在使用explode
之前,我们可以使用Series.str.split
将相关信息解析到list
中。
df.assign(
Letters=df.Letters
.str
.split(" : ", expand=True)[1]
.str.split(",")
)
.explode("Letters")
Letters Date
0 a 2021
1 a 2019
1 b 2019
1 c 2019
2 a 2017
2 b 2017
请注意,此答案中没有重置索引,如果需要,可以调用reset_index
进行重置。
在split
之后使用explode
您的值:
>>> df.assign(Letters=df['Letters'].str.split(',')).explode('Letters')
Letters Date
0 a 2021
1 a 2019
1 b 2019
1 c 2019
2 a 2017
2 b 2017