目录
前言
经典co-location算法是经典的空间
提示:以下是本篇文章正文内容,下面案例可供参考
一、空间同位模式挖掘概述
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、经典co-location算法实现及演示
1.代码实现
1.1互邻距离计算
from numpy import *
import pandas as pd
def neighbor_dist(mindist,point):
#计算互最近邻距离
#input:mindist距离阈值,point点数据集
#output:ppf 互邻近距数据集
data=point
pdist = mindist
n = len(data['X'])
px = data['X']
py = data['Y']
ptype = data['TYPE']
pf = pd.DataFrame()
for i in range(1, n):
f = pd.DataFrame()
f1 = (px > px[i] - pdist) & (px < px[i] + pdist)
f2 = (py > py[i] - pdist) & (py < py[i] + pdist)
itype = ptype[i]
k = ptype != itype
inid2 = array(data.index[k & (f1 & f2) & (data.index > i)])
if len(inid2) == 0: continue
f['type1'] = ptype[array(repeat(i, len(inid2)))]
f['type2'] = list(ptype[k & (f1 & f2) & (data.index > i)])
f['stid'] = array(repeat(i, len(inid2)))
f['esid'] = inid2
f['X1'] = px[array(repeat(i, len(inid2)))]
f['Y1'] = py[array(repeat(i, len(inid2)))]
f['X2'] = array(px[k & (f1 & f2) & (data.index > i)])
f['Y2'] = array(py[k & (f1 & f2) & (data.index > i)])
distane = sqrt((f['X1'] - f['X2']) ** 2 + (f['Y1'] - f['Y2']) ** 2)
f['dist'] = distane
pf = pd.concat([pf, f])
g = pf['dist'] < pdist
ppf = pf[g]
return ppf
输入值mindist是距离阈值,根据L函数计算得到,这里直接采用之前所计算得到的
点数据集的结构:
计算得到的结果:
2.演示操作
代码如下(示例):
data = pd.read_csv( 'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv') print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。