matlab求莫兰指数程序,python计算莫兰指数(Moran's I)并绘制地区热力图——以中国各省pm2.5为例...

使用Python计算中国各省份PM2.5的莫兰指数,发现存在空间正相关性。程序通过计算观测值矩阵(省的PM2.5平均值)和空间权重矩阵(省会城市距离的倒数),得出全局莫兰指数为0.49,显著性检验p值大于1.96。程序还生成了莫兰散点图和地区热力图,揭示了空间自相关现象。
摘要由CSDN通过智能技术生成

[TOC]

程序简介

计算省的pm2.5平均值作为观测矩阵,省会的距离的倒数作为空间权重矩阵,计算全局莫兰指数为0.49,显著性检验p值为3.75>1.96,得出中国地区的pm2.5存在空间正相关

输入:中国各地区pm2.5值 输出:莫兰散点图、莫兰指数、莫兰检验数、地区热力图

莫兰指数(Moran’s I)是空间自相关系数的一种,其值分布在[-1,1],用于判别空间是否存在自相关。比如:一个小区内有钱人会集聚住在豪宅别墅区,平民们(比如我- -)则会集聚住在普通的楼房区,这里的个人财富就是一种观测值,呈现高高聚集,低低聚集的现象。

3308946

程序/数据集下载

点击进入下载地址

3308946

代码分析

导入模块,路径

# -*- coding: utf-8 -*-

from Module.CalPosition import calDistance

from Module.MoranI import moranI

import pandas as pd

import numpy as np

import json

import os

from pyecharts import Map

import re

#路径目录

baseDir = ''#当前目录

staticDir = os.path.join(baseDir,'Static')#静态文件目录

resultDir = os.path.join(baseDir,'Result')#结果文件目录

整理省-pm2.5表格作为观测值矩阵,将省内所有市的pm2.5的算术平均值作为该省的pm2.5,查看前5行

#读取省市字典

with open(staticDir+'/中国省市字典.json','r') as f:

china = json.loads(f.read())

#省-pm2.5字典

provincePm = {'province':[],'pm2.5':[]}

#读取各市pm2.5,求平均值作为整个省的pm2.5值

for province in china:

pm = []#该省所有市的pm2.5列表

for city in china[province]:

#文件名没有市这个字

city = city.replace('市','')

path = staticDir+'/中国各市2个月的pm2.5/%s.csv'%city

if not os.path.exists(path):

continue

cityPm = pd.read_csv(path,engine="python")['pm25']

pm.extend(cityPm.values.tolist())

#列表不为空才添加

if pm:

provincePm['province'].append(province)

provincePm['pm2.5'].append(np.m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值