我的以下代码输出的似乎是每个普查区的词典列表,这基本上就像指定的土地区域。我能够计算出人口和几种不同土地覆盖类型的百分比。现在,我想计算每种土地覆盖类型的人口与百分比之间的皮尔逊相关系数。
我想做的是提取/过滤字典列表,以便我可以比较每种土地覆盖类型的人口。 因此,
的Pearson相关性代码如下:
header.key === device
运行此代码后,我将获得以下词典列表,我想知道如何提取/过滤出人口并将其与每个土地覆盖率进行比较,并最终计算出皮尔森r相关性。
header.key === ticketNumber
有什么想法我可以循环浏览一下,然后针对每种土地覆盖类型的百分比计算总人口变量的Pearson r?
谢谢
答案 0 :(得分:0)
xs = []
y1s = []
y2s = []
y3s = []
y4s = []
for entry in entries:
xs.append(entry['population'])
ice = entry['Total Water Ice Cover']
dev = entry['Total Developed']
bar = entry['Total Barren Land']
forest = entry['Total Forest']
total_land = ice+dev+bar+forest
y1s.append(ice/total_land)
y2s.append(dev/total_land)
y3s.append(bar/total_land)
y4s.append(forest/total_land)
print(scipy.stats.pearsonr(xs,y1s)," = ICE")
...
可能还有一些熊猫可以做的技巧,但是为了简化它