分解行 pandas 数据框

Explode rows pandas dataframe

我有一个 pandas 数据框,如下所示:

Letters Date
'Letters : a' 2021
'Letters : a,b,c' 2019
'Letters : a,b' 2017

我想变成下面的样子,使用pandas/python。

Letters Date
a 2021
a 2019
b 2019
c 2019
a 2017
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