Python 如何从dataframe的列中获取唯一名称

Python 如何从dataframe的列中获取唯一名称,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个列(在数据框中)包含多个城市名称,我需要知道城市的唯一名称 city 0 Dallas,Columbus,Portland,LasVegas 1 Columbus,Dallas,LasVegas 2 Dallas 3 Portland,Columbus,LosAngeles 4 Columbus 我想得到一份这样的城市名单:达拉斯、哥伦布、波特兰、拉斯维加斯、洛杉矶 我试着使用countVectorize函数和pand

我有一个列(在数据框中)包含多个城市名称,我需要知道城市的唯一名称

        city
0      Dallas,Columbus,Portland,LasVegas
1      Columbus,Dallas,LasVegas
2      Dallas
3      Portland,Columbus,LosAngeles
4      Columbus

我想得到一份这样的城市名单:达拉斯、哥伦布、波特兰、拉斯维加斯、洛杉矶

我试着使用countVectorize函数和pandas unique()方法,但我不知道怎么做

df.city.str.split(",").explode().unique().tolist()
split
上的字符串拆分为“,”
,这将在每行中给出一个
列表。然后对这些列表进行分解,得到一个长序列,其中每一行现在都有一个城市名称。然后对它们进行
unique
,以获得不同的城市名称。最后转换
tolist
以获得:

['Dallas', 'Columbus', 'Portland', 'LasVegas', 'LosAngeles']

您可以将
str.split
.stack()
unique一起使用

df['city'].str.split(',',expand=True).stack().unique()

array(['Dallas', 'Columbus', 'Portland', 'LasVegas', 'LosAngeles'],
      dtype=object)

成功了,非常感谢你的解释!这也奏效了,谢谢!