如何使用python/pandas根据一列中的字符串拆分和复制行?

如何使用python/pandas根据一列中的字符串拆分和复制行?,python,string,pandas,Python,String,Pandas,我有一个df,其中一些值被添加到同一行,如以下伪df: [['Apple, Kiwi, Clementine', np.nan , 'Cycling', 5], ['Kiwi', 'Blue', np.nan , 20], ['Banana, Clementine', np.nan , 'Hockey', 12], ['Apple', 'Purple', 'Triathlon', 15], ['Kiwi', np.nan, 'Swim

我有一个df,其中一些值被添加到同一行,如以下伪df:

    [['Apple, Kiwi, Clementine', np.nan , 'Cycling', 5], 
     ['Kiwi', 'Blue',  np.nan , 20], 
     ['Banana, Clementine',  np.nan , 'Hockey', 12], 
     ['Apple', 'Purple', 'Triathlon', 15], 
     ['Kiwi',  np.nan, 'Swimming', 8]]), 
                     columns=['fruit', 'colour', 'sport', 'wins'])
我想要的是复制包含多个水果的行,同时将第一个条目拆分为只包含一个水果。 最后,我想画出每种水果的平均收益。因此,如果有一种分组方法,其中提到的每种水果都与正确的水果分组,可以说,这也会起作用

我尝试了一些字符串操作,但它只是简单地被拆分,其他列中的值不会重复。
这很令人沮丧,因为我知道如何在r中完成,但我是python的初学者。

使用@Wen Ben的解决方案,来自:



注意如果您愿意,您可以选择删除
水果
列。

太好了!现在清理不同的拼写等就容易多了。@Mactilda干杯..!!:)
s=pd.DataFrame([[x] + [z] for x, y in zip(df.index,df.fruit.str.split(',')) for z in y],
               columns=[0,'Fruit'])
df_new=s.merge(df,left_on=0,right_index=True).drop(0,1)
print(df_new)
         Fruit                    fruit  colour      sport  wins
0        Apple  Apple, Kiwi, Clementine     NaN    Cycling     5
1         Kiwi  Apple, Kiwi, Clementine     NaN    Cycling     5
2   Clementine  Apple, Kiwi, Clementine     NaN    Cycling     5
3         Kiwi                     Kiwi    Blue        NaN    20
4       Banana       Banana, Clementine     NaN     Hockey    12
5   Clementine       Banana, Clementine     NaN     Hockey    12
6        Apple                    Apple  Purple  Triathlon    15
7         Kiwi                     Kiwi     NaN   Swimming     8