首页 > 解决方案 > Pandas 使用 '\n' 将单元格值拆分为多个但将它们保持在同一行中

问题描述

我在这里有一个演示代码来描述要求:

df = pd.DataFrame({'Item':['Item1','Item2','Item3'],'Des':['Welcome\nto use Python','Hello','Python\nis\ngood']})
print(df)

输出:

    Item                     Des
0  Item1  Welcome\nto use Python
1  Item2                   Hello
2  Item3        Python\nis\ngood

您可以在下面看到它Welcome\nto use Python被分成 2 个阶段(单词)\n,但Welcometo use Python仍然在同一行中。

    Item                     Des
0  Item1                   Welcome
                           to use Python
1  Item2                   Hello
2  Item3                   Python
                           is
                           good

这就是要求。我可以将单元格值拆分为列表,但不知道接下来的步骤。您能否就如何使用 Pandas 实现它提出一些建议?谢谢。

df['Des_'] = df['Des'].apply(lambda x: x.split('\n'))

当我将它保存到excel时,它应该是这样的:

保存到excel

标签: pandassplitrow

解决方案


国际大学联合会,

df.assign(Des=df['Des'].str.split('\n')).explode('Des')

输出:

    Item            Des
0  Item1        Welcome
0  Item1  to use Python
1  Item2          Hello
2  Item3         Python
2  Item3             is
2  Item3           good

推荐阅读