以下是一个按给定列分区计算唯一不同值的数量的解决方法的代码示例:
import pandas as pd
def calculate_unique_values(df, column):
unique_values = df.groupby(column)[column].nunique()
return len(unique_values)
# 示例数据
data = {'Name': ['John', 'Jane', 'John', 'Jane', 'John', 'Jane'],
'Age': [20, 25, 30, 35, 40, 45],
'City': ['New York', 'London', 'Paris', 'New York', 'Paris', 'London']}
df = pd.DataFrame(data)
unique_values_count = calculate_unique_values(df, 'City')
print(unique_values_count)
输出:
3
在这个例子中,我们首先定义了一个函数calculate_unique_values
,它接收一个DataFrame和一个列名作为参数。然后,我们使用groupby
方法将DataFrame按给定列分组,并使用nunique
方法计算每个组中唯一值的数量。最后,我们返回唯一值数量的长度,即不同值的数量。
在示例中,我们创建了一个包含姓名、年龄和城市的DataFrame。然后,我们调用calculate_unique_values
函数,并将列名'City'
作为参数传递。函数返回3,表示在城市列中有3个唯一的不同值:New York、London和Paris。