
Python学习
菜鸡的自我拯救
菜,无止境
展开
-
出租车轨迹处理(一):预处理+DBSCAN聚类+gmplot可视化
1、导入txt数据并转为pandaimport pandas as pdimport numpy as npimport datatimef=open('D:\动态人口分布实验\交通赛数据_下\\20140816_train.txt')data=pd.read_csv(f,names=['ID','lat','lon','passager','time'])2、对数据进行简单计算......原创 2019-05-28 17:18:33 · 27376 阅读 · 33 评论 -
Python:多个tiff转csv,并按照像元合并成一个csv
1)定义tiff转csv的函数from osgeo import gdalimport pandas as pdimport numpy as npgdal.AllRegister()def tifftocsv(path): filePath = path dataset = gdal.Open(filePath) adfGeoTransform = dataset.GetGeoTransform() nXSize = dataset.RasterXSize原创 2021-09-01 00:37:43 · 2211 阅读 · 0 评论 -
Python: 计算时间序列影像的斜率图和均值图
1)定义斜率计算的函数from osgeo import gdalimport numpy as npfrom sklearn import linear_modelimport copy# 计算斜率def calculate_slope(data): reg = linear_model.LinearRegression() reg.fit(np.array(range(len(data))).reshape(-1, 1), np.array(data).reshape(-1,原创 2021-09-01 00:33:31 · 2032 阅读 · 1 评论 -
使用Arcpy批量进行可达性分析
# Name: MakeODCostMatrixAnalysisLayer_Workflow2.py# Description: Find the travel time to the closest hospital from each census# tract and join the travel time and hospital name to the input# tracts.# Requirements: Network An原创 2020-12-03 01:25:28 · 521 阅读 · 0 评论 -
使用arcpy批量计算路网可达性(网路分析方法)
# Name: MakeODCostMatrixAnalysisLayer_Workflow2.py# Description: Find the travel time to the closest hospital from each census# tract and join the travel time and hospital name to the input# tracts.# Requirements: Network An原创 2020-11-18 02:22:07 · 1057 阅读 · 0 评论 -
问题解决:Python作图时坐标轴label显示不全
问题描述在用matplotlib或sns作图时,横坐标轴是每隔两个显示一个,如图:代码如下:import seaborn as snscmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)sns.heatmap(outdata02,linewidths = 0.05, cmap=...原创 2020-04-03 09:10:46 · 26594 阅读 · 4 评论 -
POI高德坐标转WGS84
因为下载的高德POI数据,相比WGS84是有一定的坐标偏移,因此需要进行校正一下。首先,文件夹是这样的:CSV文件格式为:代码如下:#!/usr/bin/python# -*- coding: UTF-8 -*- import pandas as pdimport jsonimport mathimport osimport csv## 转换函数:x_pi = 3...原创 2020-01-07 21:37:01 · 5179 阅读 · 2 评论 -
Pandas显示全部行、列
尤其是在jupyter中,显示不全有时会很不方便import pandas as pd#显示所有列(参数设置为None代表显示所有行,也可以自行设置数字)pd.set_option('display.max_columns',None)#显示所有行pd.set_option('display.max_rows',None)#设置数据的显示长度,默认为50pd.set_option('...原创 2019-08-30 09:48:52 · 4479 阅读 · 0 评论 -
Python学习:pandas读取大文件的一些经验
1、设置CSV的上限2、加载进度条(读取太慢时,可以判断程序是否还在运行)3、循环读进pandas比如,想要从全国的POI数据中,读取四川省的:import pandas as pdimport numpy as npimport osfrom tqdm._tqdm_notebook import tnrangefilepath='D:\\高德POI数据全国\\2018-POIC...原创 2019-08-11 13:52:04 · 3139 阅读 · 5 评论 -
问题解决:pandas索引某一列缺失列名
今天想做一个简单的回归分析,原始数据如下:回归分析的X为 VTLPI 列, Y为 对数人口 列本来我是这么索引的:X,Y=data.ix[:,6:7],data.ix[:,8]结果这样回归分析时,报错:原来只要是用Sklearn做回归,Y列就必须要有列名。但是我看了一些我的Y列,确实没有列名,发现应该这么修改:X,Y=data.ix[:,6:7],data.ix[:,8:9]...原创 2019-08-11 10:12:08 · 2483 阅读 · 0 评论 -
使用scipy实现层次聚类,显示树状图与所属类别
1)数据标准化import scipyimport scipy.cluster.hierarchy as schfrom scipy.cluster.vq import vq,kmeans,whitenimport numpy as npimport matplotlib.pylab as pltpoints=scipy.randn(20,4) #1. 层次聚类#生成点与点之...原创 2019-07-18 15:20:39 · 1273 阅读 · 0 评论 -
pandas的to_datetime只取日期或时刻
有时想把pandas某一列的时间数据(时/分/秒)转换成时间格式,于是需要to_datatime。1) 转成时间数据data['地震发生时间']=data.to_datatime(data['地震发生时间'])但是to_datatime默认会有(年/月/日/时/分/秒)六个属性,有时这些是没用的,如下图的例子。我只想要得到一天中的时刻信息,并不想要年月日(pandas默认从1900年开始...原创 2019-07-18 14:05:26 · 35448 阅读 · 5 评论 -
pandas只取文件中的某几列
cluster=[data.A,data.B,data.C]cluster_data=pd.concat(cluster,axis=1)原创 2019-07-18 14:34:23 · 14089 阅读 · 0 评论 -
问题解决:Geohash包安装失败
Geohash包的安装问题如果直接用 pip install Geohash安装,运行时会显示 no model named geohash, 此时应该使用:pip install python-geohash原创 2019-04-01 15:01:17 · 809 阅读 · 0 评论 -
问题解决:Sklearn 出现 ImportError: DLL load failed: 找不到指定的模块
-卸载原有版本的numpy、sklearn和scipypip uninstall XX重新安装,但要注意顺序先装Numpy\Scipy包,再安装Scikit-Learn原创 2019-03-31 09:32:58 · 2159 阅读 · 2 评论 -
为什么要使用with open as ()
以下内容主要转载自:为什么要使用with open () as我们使用with open () as 是为了防止出现异常,如file = open("test.txt","r")for line in file.readlines(): print linefile.close()这样直接打开文件,如果出现异常,如读取过程中文件不存在或异常,则直接出现错误,close方法无法执...转载 2019-05-05 20:19:10 · 1648 阅读 · 0 评论 -
Python读取文件:readline()和readlines()
今天读取文件时,出现了一个问题,发现是把readlines()打成了readline()。查了一下,这才知道这二者的区别,同时读取文件还有一个read()函数。read()读取整个文件,将文件内容放到一个字符串变量中,如果需要对文件按行进行处理,则不可用该方法如果文件大于可用内存(好几个G的),不可能使用这种处理,系统会报错readline()每次读取一行,比readlines()...转载 2019-05-05 20:54:44 · 1208 阅读 · 0 评论 -
图像聚类的python实现
因为之后的项目要用到影像聚类,之前一直是用ENVI实现,现在想学下python。学习的这一篇:小项目聚类import cv2import matplotlib.pyplot as pltimport numpy as np# ======准备工作======# 原图像路径imPath = 'C:\\Users\lp\Desktop\photo.jpg'# 读取图像orig...原创 2019-05-11 11:27:16 · 3940 阅读 · 2 评论 -
Geopandas学习:矢量分析
项目需要实现出租车定位数据的分区,而这个区往往是不规则的,大小并不一致。之前这方面的操作都是用Arcgis实现,但是由于出租车数据涉及到了时间尺度、大数据,因此还是自己动手编程实现比较合适。今天尝试了一下使用Geopandas统计shp中的点数量,算是做了一个小小的试验:将成都市用同等大小的规则格网分为25块,其后统计每个区块内POI点的数量,数据如下:这是Geopandas的介绍:Ge...原创 2019-05-21 16:32:30 · 2214 阅读 · 2 评论 -
python文本数据处理学习
最近越发感觉到限制我对Python运用、以及读懂别人代码的地方,大多是在于对数据的处理能力。其实编程本质上就是数据处理,怎么把文本数据、图像数据,通过python读入、切分等,变成一个N维矩阵,然后再带入别人的模型,bingo~跑出来一个结果。结果当然也是一个矩阵或向量的形式。所以说,之所以对很多模型、代码束手无策,其实还是没有掌握好数据处理的“屠龙宝刀”,无法对海量数据进行“庖丁解牛”般的处...原创 2019-05-21 16:59:44 · 1145 阅读 · 2 评论 -
GeoPandas+Sklearn进行DBSCAN点聚类
一 从点数据(.shp)中获取坐标思路:Geopandas处理,然后转为numpy数组from geopandas import GeoDataFrameimport numpy as npfrom pandas import Series,DataFrame# provincedata 为需要统计的点数据provincedata =GeoDataFrame.from_file('E:...原创 2019-05-27 17:20:09 · 1687 阅读 · 0 评论 -
arcpy实现文本(txt)坐标批量转shp
# -*- coding:gb2312 -*-import arcpy, systry: path = "D:\\DynamicPopulation\\交通赛数据_上\\20140806\down\\" outputname = "polygontest.shp" spatRef = arcpy.SpatialReference(4326) creat...原创 2019-05-30 15:24:43 · 5346 阅读 · 1 评论 -
分不同小时批量保存轨迹数据
一、技术难点如何建立一个循环,分别表示不同的时间段,然后按照此时间段索引数据,分别保存。二、代码实现1)读取数据,并预处理import numpy as npimport pandas as pd f=open('D:\DynamicPopulation\交通赛数据_上\\20140806_train.txt')data=pd.read_csv(f,names=['ID','lat...原创 2019-05-28 17:04:30 · 673 阅读 · 1 评论 -
GeoPandas+Slearn进行DBSCAN聚类
一 从点数据(.shp)中获取坐标思路:Geopandas处理,然后转为numpy数组from geopandas import GeoDataFrameimport numpy as npfrom pandas import Series,DataFrame# provincedata 为需要统计的点数据provincedata =GeoDataFrame.from_file('E:...原创 2019-07-18 11:02:19 · 814 阅读 · 5 评论 -
Python:enumerate()和map()
Python enumerate() 函数enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python enumerate() 函数的使用Python map()函数map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 functi...原创 2019-04-25 21:43:08 · 629 阅读 · 0 评论