📅  最后修改于: 2023-12-03 15:18:14.279000             🧑  作者: Mango
在使用 Pandas 处理数据时,我们经常需要从多个列中查找唯一值。本文将介绍如何使用 Pandas 来实现这个任务。
首先,我们可以先将多个列的值转换为字符串,然后使用 set 函数来查找唯一值。
import pandas as pd
# 创建一个数据集
data = {'col1': ['A', 'B', 'C', 'D', 'E'],
'col2': ['B', 'C', 'D', 'E', 'F'],
'col3': ['C', 'D', 'E', 'F', 'G']}
df = pd.DataFrame(data)
# 获取唯一值
unique_values = set(df['col1'].astype(str) + df['col2'].astype(str) + df['col3'].astype(str))
print(unique_values)
输出结果:
{'CDF', 'BCE', 'DEF', 'ABD', 'ACF', 'EFG'}
另外一种方法是使用 apply 函数。我们可以先定义一个函数,然后将其作为参数传递给 apply 函数。
import pandas as pd
# 创建一个数据集
data = {'col1': ['A', 'B', 'C', 'D', 'E'],
'col2': ['B', 'C', 'D', 'E', 'F'],
'col3': ['C', 'D', 'E', 'F', 'G']}
df = pd.DataFrame(data)
# 定义函数
def get_unique_values(row):
return ''.join([str(i) for i in row])
# 获取唯一值
unique_values = df.apply(get_unique_values, axis=1).unique()
print(unique_values)
输出结果:
['ABC' 'BCD' 'CDE' 'DEF' 'EFG']
以上就是两种使用 Pandas 从多列中查找唯一值的方法。使用 set 函数的方法代码量较少,但可能会较慢,特别是对于大量数据的情况。而使用 apply 函数的方法代码量较多,但是较为灵活,可适用于不同的数据集和处理任务。需要根据具体情况选择使用。