Python 从不重复的行值创建列表

Python 从不重复的行值创建列表,python,pandas,Python,Pandas,我需要从数据帧中提取以下单词 car+ferrari 数据集是 Owner Sold type car+ferrari J.G £500000 car+ferrari R.R.T. £276,550 car+ferrari motobike+ducati motobike+ducati ... 我需要创建一个列表,列出类型中的单词,但要分别区分它们。所以在这种情况下

我需要从数据帧中提取以下单词

car+ferrari
数据集是

                   Owner        Sold
type
car+ferrari         J.G         £500000
car+ferrari         R.R.T.      £276,550 
car+ferrari        
motobike+ducati
motobike+ducati
...
我需要创建一个列表,列出类型中的单词,但要分别区分它们。所以在这种情况下,我只需要
汽车
法拉利

名单应该是

my_list=['car','ferrari']
没有重复的。 所以我应该做的是选择类型car+ferrari并提取所有单词,将它们添加到一个列表中,如上图所示,没有重复项(我有许多car+ferrari行,但由于我需要创建一个包含术语的列表,我只需要提取这些术语一次)

任何帮助都将不胜感激

编辑:类型列是索引

def lister(x): #function to split by '+'
    return set(x.split('+'))
    
df['listcol']=df['type'].apply(lister) # applying the function on the type column and saving output to new column 
添加@AMC建议的一种内置解决方案,以拆分熊猫系列:

df['type'].str.split(pat='+')
详情请参阅

将熊猫索引转换为系列:

pd.Series(df.index)
在索引上应用函数:

pd.Series(df.index).apply(lister)


请提供一份报告。你试过什么,做过什么研究吗?这能回答你的问题吗?你描述任务的方式我想知道为什么你不能直接输入
my_list=['car','ferari']
。type是一个索引列。我无法键入我的_列表,因为我想创建一个内置函数,以便在有许多类型的情况下执行此操作。type是一个索引列。然后将其转换为一个系列,对吗?OP需要从分隔列值中输出列表。没有提到需要将列拆分为两个不同的列!在这种情况下,他们会在打电话时设置
expand=False
。我建议您添加您对解决方案的意见作为答案。解决方案有多种方法。这里一切都很好。一个不太好的解决方案与一个好的解决方案相比,只能告诉社区为什么一个比另一个好。Cheers@Val这个问题并没有回答我的问题,因为类型是一个索引,它绝对是这样做的,您所需要做的就是将索引转换为一个系列。
pd.Series(df.index).str.split(pat = '+')
df.index.to_series().str.split("+")