我有一个dataFrame df1:
|Company Name|Contact| Representatives |
| XYZ-Corp |Adam | Mark, John, Stacy |
我想创建一个新的dataFrame df2,如下所示:
| Company Name | Contact |
| XYZ-Corp | Adam |
| XYZ-Corp | Mark |
| XYZ-Corp | John |
| XYZ-Corp | Stacy |
我该怎么做? 我想从代表列中拆分值并将其添加为新行。
我可以使用double for循环,一个遍历所有行,另一个迭代代表名称并添加到新的dataFrame。有更好的方法吗?
答案 0 :(得分:1)
df.set_index('Company Name', inplace=True)
df = pd.concat([df.Contact, df.loc[:,'Representatives'].str.split(',', expand=True).stack().reset_index(-1, drop=True)]).reset_index()
df.rename(columns={0: 'Contact'}, inplace=True)
Company Name Contact
0 XYZ-Corp Adam
1 XYZ-Corp Mark
2 XYZ-Corp John
3 XYZ-Corp Stacy