我有一个数据框df1,列名为“Actors”。例如:
Actors
Mel Blanc*Arthur Q. Bryan
Kimberly J. Brown*Daniel Roebuck
Kazunari Aizawa*Aki Morita*Teruhiko Nobukuni
Mel Blanc
Aki Morita
正如我们上面所看到的,有些行由多个actor分隔*。此外,在上述情况下,例如“Mel Blanc”和“Aki Morita”的冗余演员也很少。
我想创建一个新的数据框df2,每行只有一个actor,并删除重复的值。所以结果应该是 -
Actors
Mel Blanc
Arthur Q. Bryan
Kimberly J. Brown
Daniel Roebuck
Kazunari Aizawa
Aki Morita
Teruhiko Nobukuni
如何使用pandas执行此任务?
答案 0 :(得分:2)
试试这个:
In [76]: df.Actors.str.split('*', expand=True).stack().reset_index(level=[0,1], drop=1).drop_duplicates()
Out[76]:
0 Mel Blanc
1 Arthur Q. Bryan
2 Kimberly J. Brown
3 Daniel Roebuck
4 Kazunari Aizawa
5 Aki Morita
6 Teruhiko Nobukuni
dtype: object