如果单元格值是列表,则将 Dataframe 行拆分为 2 行

我有一个 DF,它看起来像这样:


id      value     country

215     x, y      UK

360     z         Spain

我想把它分成这种形式:


id      value     country

215     x         UK

215     y         UK

360     z         Spain

因此,我想为 df['value'] 具有多个用逗号分隔的值的每一行复制行。


我知道我必须把它分成一个列表:


df['value'] = df['value'].apply(lambda x: x.split(','))

接下来你要做什么来按照我想要的方式复制该行?


守候你守候我
浏览 118回答 1
1回答

动漫人物

这应该工作。它在 ['value'] 系列上使用 str.split 函数:import pandas as pddf = pd.DataFrame({'ID': [215, 360], 'value':  ['x, y', 'z'], 'country': ["UK", "Spain"]})df["value"] = df["value"].str.split(pat=",")print(df.explode("value"))结果:    ID value country0  215     x      UK0  215     y      UK1  360     z   Spain
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python