如果满足单元格条件,则复制并拆分行 - Pandas Python

Copy and split row by if cell condition it met - Pandas Python

当我有一个具有特定 char(';') 的单元格时,我正在尝试解决这个问题,如果特定列中特定单元格的拆分器得到,我想复制带有数量的同一行。 例如:

Index Name Age Car
1 David 45 Honda;Subaru
2 Oshir 32 BMW

我试图得到的结果如下:

Index Name Age Car
1 David 45 Honda
2 David 45 Subaru
3 Oshir 32 BMW

谢谢!

可能的解决方案如下:

import pandas as pd

# set data and create dataframe
data = {"Name": ["David", "Oshir"], "Age": [45, 32], "Car": ["Honda;Subaru", "BMW"]}
df = pd.DataFrame(data)

df = df.assign(Car=df['Car'].str.split(';')).explode('Car').reset_index(drop=True)

df

Returns