我有一个包含数据变更日志的大型数据框。每行代表“产品”,每个产品可以有多个“操作类型”。它可以是新的、删除的、重命名的、移动的、更新的等,也可以是它们的组合,以逗号分隔。例子: 移动、重命名 移动、重命名、更新
我想要实现的是,为那些具有此类组合的操作类型复制行并为每个操作类型创建单独的行。这是我所拥有的示例:
数据框:
Product Description Effective date Action Type
Phone Nokia 2019-08-08 Move, Text
Car Honda 2018-12-12 Move, Text, Update
PC Lenovo 2020-04-04 New
以及我想要实现的目标:
Product Description Effective date Action Type
Phone Nokia 2019-08-08 Move
Phone Nokia 2019-08-08 Text
Car Honda 2018-12-12 Move
Car Honda 2018-12-12 Text
Car Honda 2018-12-12 Move, Text, Update
PC Lenovo 2020-04-04 New
这是怎么做到的? 感谢您的帮助
答案 0 :(得分:2)
您可以在用逗号分隔列后使用 explode
:
df['Action Type'] = df['Action Type'].str.split(', ')
df.explode('Action Type')
Product Description Effective date Action Type
0 Phone Nokia 2019-08-08 Move
0 Phone Nokia 2019-08-08 Text
1 Car Honda 2018-12-12 Move
1 Car Honda 2018-12-12 Text
1 Car Honda 2018-12-12 Update
2 PC Lenovo 2020-04-04 New