为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守候你守候我 2023-04-25 15:13:58
我有一个 DF,它看起来像这样:id      value     country215     x, y      UK360     z         Spain我想把它分成这种形式:id      value     country215     x         UK215     y         UK360     z         Spain因此,我想为 df['value'] 具有多个用逗号分隔的值的每一行复制行。我知道我必须把它分成一个列表:df['value'] = df['value'].apply(lambda x: x.split(','))接下来你要做什么来按照我想要的方式复制该行?
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

这应该工作。它在 ['value'] 系列上使用 str.split 函数:


import pandas as pd


df = 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 country

0  215     x      UK

0  215     y      UK

1  360     z   Spain


查看完整回答
反对 回复 2023-04-25
  • 1 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信