如何使用Pandas构建以村庄名为键的Col2与Col3相关系数字典
按村庄计算储蓄与净资产的相关系数并存储为字典
方法一:用pandas分组直接生成字典
利用groupby按村庄分组,对每组计算两列的相关系数,最后通过to_dict()直接转成目标字典:
import pandas as pd # 假设数据集已加载到df中 Vill_corr = df.groupby('Name_of_Village').apply( lambda x: x['Average_monthly_savings'].corr(x['networth_in_dollars']) ).to_dict()
方法二:手动循环遍历村庄(适合新手理解)
先提取所有不重复的村庄名称,逐个计算相关系数并添加到字典:
import pandas as pd Vill_corr = {} # 获取所有唯一的村庄名称 unique_villages = df['Name_of_Village'].unique() for village in unique_villages: # 筛选当前村庄的数据集 village_data = df[df['Name_of_Village'] == village] # 计算相关系数 corr_value = village_data['Average_monthly_savings'].corr(village_data['networth_in_dollars']) # 存入字典 Vill_corr[village] = corr_value
注:如果某村庄样本量不足(比如仅1条数据),corr()会返回NaN,可根据需求添加判断逻辑处理该情况。
内容的提问来源于stack exchange,提问作者Pragyaditya Das
相关产品推荐
相关产品推荐

