非常感谢您的帮助, 我有一个大的问题,我有如下数据框:
Name | Book | Location
A | Mobile| Hai Long St. 123
B | Sim | Aha 123/456,78;9
我想分开如下:
Name | Book | Location
A | Mobile| 123
B | Sim | 123
B | Sim | 456
B | Sim | 78
B | Sim | 9
如何在python中做到这一点,我对此一无所知。谢谢您的支持。
答案 0 :(得分:0)
我将使用extractall
在Location
中查找所有数值:
>>> df.Location.str.extractall('(\d+)')
0
match
0 0 123
1 0 123
1 456
2 78
3 9
然后,您可以使用上面extractall
输出的索引的第一级将其重新连接到原始数据框中。以下是获得所需确切输出的代码:
new_df = (df.drop('Location', axis=1)
.join(df.Location.str.extractall('(\d+)')
.reset_index(level=1,drop=True))
.rename(columns={0:'Location'}))
>>> new_df
Name Book Location
0 A Mobile 123
1 B Sim 123
1 B Sim 456
1 B Sim 78
1 B Sim 9