ahb*_*bon 3 python numpy pandas
我有一个像这样的Pandas DataFrame:
id fruits
01 Apple, Apricot
02 Apple, Banana, Clementine, Pear
03 Orange, Pineapple, Pear
Run Code Online (Sandbox Code Playgroud)
如何通过删除重复项来获得这样的水果列表?
['Apple','Apricot','Banana','Clementine','Orange','Pear','Pineapple']
Run Code Online (Sandbox Code Playgroud)
你可以压平list创建的split,转换为sets表示唯一,最后转换为lists:
a = list(set([item for sublist in df['fruits'].str.split(', ') for item in sublist]))
print (a)
['Pineapple', 'Clementine', 'Apple', 'Banana', 'Apricot', 'Orange', 'Pear']
Run Code Online (Sandbox Code Playgroud)
要么:
a = df['fruits'].str.split(', ', expand=True).stack().drop_duplicates().tolist()
print (a)
['Apple', 'Apricot', 'Banana', 'Clementine', 'Pear', 'Orange', 'Pineapple']
Run Code Online (Sandbox Code Playgroud)
谢谢@kabanus的替代方案:
a = list(set(sum(df['fruits'].str.split(', '),[])))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |