Python Pandas ŌĆō 从多列中查找唯一值
在数据分析过程中,我们常常需要在多列中查找唯一值,比如说在一个数据表格中,要找出所有未重复的姓名和电子邮件地址。对于小型数据集,我们可以手动浏览和筛选,但对于大型数据集,这显然是不可行的。Pandas 的 drop_duplicates()
函数可以帮助我们快速、准确地完成这项任务。
drop_duplicates()
函数的基本用法
drop_duplicates()
函数用于返回多列数据中的唯一行。它的基本用法如下:
import pandas as pd
df = pd.read_csv('data.csv')
unique_rows = df.drop_duplicates()
以上代码会从 data.csv
文件中读取数据,然后使用 drop_duplicates()
函数,将唯一的行存储在 unique_rows
变量中。
可以使用 subset
参数指定要查找的列,示例如下:
unique_rows_subset = df.drop_duplicates(subset=['Name', 'Email'])
以上代码会以 Name
和 Email
列作为依据,查找唯一的行并将其存储在 unique_rows_subset
变量中。
如果想要永久性地删除重复的行,可以使用 inplace
参数,示例如下:
df.drop_duplicates(subset=['Name', 'Email'], inplace=True)
此时,df
变量中的重复行已被删除。
keep
参数的用途
keep
参数用于指定要保留哪些行。默认情况下,keep
参数的值为 'first'
,表示保留第一个出现的行,而删除后续重复的行。如果将 keep
参数的值设置为 'last'
,则保留最后一个出现的行并删除其它重复行。示例如下:
unique_rows_keep_last = df.drop_duplicates(subset=['Name', 'Email'], keep='last')
以上代码将从最后一个出现的行开始,保留每个唯一的行。它相当于在保留第一个唯一行的情况下删除其余重复的行。
ignore_index
参数的用途
ignore_index
参数用于重置索引,从而保持索引顺序。如果将 ignore_index
参数的值设置为 True
,则会在结果中重置索引。操作示例如下:
unique_rows_ignore_index = df.drop_duplicates(subset=['Name', 'Email'], ignore_index=True)
以上代码执行后,unique_rows_ignore_index
变量中的行索引将从零开始重新编号。
结论
通过本文我们了解到,使用 Pandas 的 drop_duplicates()
函数可以从多列数据中查找唯一值。我们可以使用 subset
参数指定要查找的列,使用 keep
参数控制要保留哪些行,使用 ignore_index
参数重置索引以保持索引顺序。在处理大型数据集时,这个函数可以帮助我们节省时间和精力,有效地完成数据分析工作。