下面是一个示例代码,展示了如何按列分组并创建一个值计数字典的列:
import pandas as pd
# 创建示例数据
data = {
'Name': ['John', 'Mike', 'Sarah', 'John', 'Sarah'],
'Age': [25, 30, 28, 25, 28],
'City': ['New York', 'Los Angeles', 'Chicago', 'New York', 'Chicago']
}
df = pd.DataFrame(data)
# 按列分组并计算每个组中每个唯一值的数量
grouped = df.groupby('City')['Name'].value_counts().reset_index(name='Count')
# 将结果转换为字典
result = grouped.groupby('City').apply(lambda x: dict(zip(x['Name'], x['Count']))).to_dict()
print(result)
输出结果如下:
{'Chicago': {'Sarah': 2}, 'Los Angeles': {'Mike': 1}, 'New York': {'John': 2}}
在这个示例中,我们使用了Pandas库来创建一个DataFrame对象,并在数据中包含了Name、Age和City列。然后,我们使用groupby函数按City列进行分组,并对每个组中的Name列进行计数。最后,我们将结果转换为字典格式,并打印输出。
上一篇:按列分组并聚合连续的行
下一篇:按列分组并连接另一列