可以使用groupby
方法来分组筛选pandas DataFrame的前N个唯一值。下面是一个示例代码:
import pandas as pd
# 创建一个示例DataFrame
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 按照分组筛选前2个唯一值
N = 2
top_N_unique_values = df.groupby('Group')['Value'].apply(lambda x: x.unique()[:N])
print(top_N_unique_values)
输出结果为:
Group
A [1, 2]
B [3, 4]
C [5, 6]
Name: Value, dtype: object
上述代码首先创建了一个示例DataFrame,其中包含两列Group
和Value
。然后使用groupby
方法按照Group
列进行分组。接着使用apply
方法对每个分组的Value
列进行操作,使用unique
方法获取该分组的唯一值,并使用切片操作[:N]
来获取前N个唯一值。最后,将结果打印输出。