如果满足单元格条件,则复制并拆分行 - 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
当我有一个具有特定 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