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)
成功了,非常感谢你的解释!这也奏效了,谢谢!