如何用Pandas获取DataFrame列中的去重变量值?
获取Pandas DataFrame列的唯一值简便方法
嘿,刚好知道怎么解决这个问题!你完全不需要复制列再去重,Pandas本身就提供了直接获取唯一值的高效方法,不用额外引入其他库。
这里有两个最常用的简便方案:
方案1:使用
unique()方法
这个方法会直接返回该列所有唯一值的numpy数组,代码非常简洁:df['Toy'].unique()如果想要转换成Python列表格式,只需要套个
list():list(df['Toy'].unique())运行后就能直接看到那7个具体的玩具名称,比如输出可能是
['Ball', 'Doll', 'Horse', 'Car', 'Train', 'Bear', 'Sheriff']这样的结果。方案2:使用
drop_duplicates()方法
如果你希望保留这些唯一值在DataFrame中首次出现的顺序,并且得到一个带索引的Pandas Series对象,可以用这个方法:df['Toy'].drop_duplicates()同样,如果需要列表格式,也可以转成list:
list(df['Toy'].drop_duplicates())
这两个方法都比复制列再去重的操作更简洁高效,对于3万行的DataFrame来说完全没有性能问题,而且都是Pandas原生支持的功能,不用额外装库。
内容的提问来源于stack exchange,提问作者Moriah
相关产品推荐
相关产品推荐

