python
Yvesx
科研,琢磨琢磨python数据分析、linux运维、地理信息系统等常用的方法和功能
展开
-
ipython定制方案
用vim和ipython命令行远程调试python代码,但是两个窗口切来切去总不是很方便,希望能定制化ipython,并能在里面直接调试原创 2023-02-16 17:19:23 · 209 阅读 · 1 评论 -
解决Centos7删除自带python后无法使用yum
Centos7.9.2009删除系统自带python无法使用yum。修复的前提是确认rpm命令可用。原创 2022-06-23 23:04:01 · 2521 阅读 · 1 评论 -
python basemap常用投影和arcgis投影的对应关系
basemaparcgis不加投影 or Equidistant Cylindrical ProjectionWGS_1984Orthographic ProjectionThe world from spaceMercator ProjectionWGS_1984_World_Mercatorarcgis提供了丰富的投影,可以在选择的时候在搜索框检索关键词basemap不加投影 or Equidistant Cylindrical ProjectionO...原创 2021-10-16 17:25:18 · 606 阅读 · 1 评论 -
pyspark总结
基本数据结构RDD弹性分布式数据集。既是数据集,又是编程模型(就是python里的对象)。特点RDD是数据集RDD是编程模型,可以调用函数RDD相互之间有依赖关系。(RDD.xxx()可以生成新的RDD)RDD是可以分区的。RDD的一些方法可以访问HDFS,HDFS是分区的。RDD可以访问很多种数据库。RDD处理非常大的数据集,所以支持分区,是并行的计算框架pyspark使用方法pyspark 手册常用APISparkContext()入口API,能够创建RDD,设置参数和原创 2021-04-18 17:59:43 · 438 阅读 · 2 评论 -
geopandas读取shp文件并作图
geopandas基本数据结构geopandas沿用了pandas的数据类型,也就是具有GeoSeries,GeoDataFrame两种主要的数据结构,继承了pandas数据结构中大部分操作方法GeoSeries对应Series,只有一列,里面的每个元素都是代表地理空间图形,有可能是点、线或者面GeoDataFrame是包含GeoSeries的数据结构,它是多列的,但其中一列必然是GeoSeries列,这个GeoSeries列被称作GeoDataFrame中的几何列。GeoDataFrame的其原创 2021-04-18 17:52:31 · 7239 阅读 · 0 评论 -
python itertools模块
python中的高效迭代函数itertools.imap(func, iter, …):第一个参数是函数,第二个参数是可迭代对象返回可迭代对象依次代入函数的返回值组成的itertools.imap迭代器。和内置函数map()差不多,map()返回list,而imap返回imap迭代器对象sc.pickleFile().map(f)是可以的,但list1.map(f)是不行的。可以list2 = map(f, list1)。注意迭代器有没有map函数或imap函数itertools.isli原创 2021-04-18 17:40:50 · 148 阅读 · 0 评论 -
python查看模块、函数的说明文档
python文档中检索,各个包的官方网站导入idle中使用print(模块名.doc)查看模块说明;用dir(模块名)查看模块中有哪些函数、类和属性;用 模块名.__all__过滤掉各种,查看模块设计者希望使用者调用的函数、类和属性(不是所有模块都有__all__属性,要先用dir()查看一下;且使用from 模块名 import *命令时,导入的函数也只有写入__all__属性的这些函数)使用help()函数help(pandas.concat) # for example...原创 2021-04-18 17:38:56 · 975 阅读 · 0 评论 -
python 导入自己写的包
单个文件导入一般来说,模块和要导入模块的文件放在一个文件夹下,可以直接import但是如果不是一个文件夹,需要写入模块的路径。一般需要把需要导入的模块放入Pythonxx\lib\site-packages路径下,python的sys.path默认搜索路径里有如果没有需要用sys.path.append(‘路径’)加入,才能导入成功Sys.path是一个列表,存放内容为python的搜索路径import syssys.path # python导入package时自动搜索的路径sys.pat原创 2021-04-18 17:37:03 · 5620 阅读 · 0 评论 -
python文件路径报错
传入路径报错:staticFile = 'C:\Users\apple\Desktop\Research'原因:\是转义符号,如\t可代表TAB,\n代表换行。3个解决方案:路径前面加r,即保持字符原始值的意思staticFile = r'C:\Users\apple\Desktop\Research'替换为双反斜杠staticFile = 'C:\\Users\\apple\\Desktop\\Research'替换为正斜杠staticFile = 'C:/Users/a原创 2021-04-18 17:17:14 · 2556 阅读 · 0 评论 -
Python continue/break语句和return/yield语句
continue/break语句continue 语句是一个删除(跳过)的效果,他的存在是为了删除满足循环条件下的某些不需要的成分:#!/usr/bin/python# -*- coding: UTF-8 -*- for letter in 'Python': # 第一个实例 if letter == 'h': continue print '当前字母 :', letter 当前字母 : P 当前字母 : y 当前原创 2021-04-18 17:14:46 · 514 阅读 · 0 评论 -
matplotlib rcParams
class matplotlib.RcParams(*args, **kwargs)官网全部参数常用设置plt.rcParams['font.size'] = 10plt.rcParams['font.sans-serif'] = 'Arial'plt.rcParams['axes.unicode_minus'] = Falseplt.rcParams['figure.figsize'] = (6.0, 3.0)plt.rcParams['savefig.dpi'] = 200...原创 2021-04-01 16:05:00 · 123 阅读 · 0 评论 -
Dataframe多条件索引
多条件索引错误的写法:info[(info["lon"]==-1) and (info["lat"]==-1)].shape报错:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().应该这么写:info[(info["lon"]==-1) & (info["lat"]==-1)].shape并且注意info["lon"]==原创 2021-04-01 15:57:40 · 1704 阅读 · 0 评论 -
爬虫抓取百度文库中的文献
抓取百度文库中的文献目前只能抓百度文库里的,google scholar(镜像)和wos、知网(学校包库)爬虫连接不上 T_Tversion = python 3.8import urllibimport urllib.requestimport randomfrom bs4 import BeautifulSoup# http://www.goubanjia.com/ 代理ipdef get_url(url): # 为了避免被反所以添加请求头、代理ip,ip要时常换原创 2021-03-26 18:43:49 · 1318 阅读 · 2 评论 -
Matplotlib.pyplot基本画图
画图的方方面面基本设置plt.rcParams 是设置绘图的基本属性import matplotlib.pyplot as pltimport numpy as npimport pandas as pdplt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文乱码plt.rcParams['axes.unicode_minus'] = False # 解决负号非正常显示plt.rcParams['font.size'] = 10plt.r原创 2021-03-26 16:43:48 · 340 阅读 · 2 评论 -
pandas拼接和添加
拼接和添加Pandas拼接操作(concat,merge,join和append)的区别添加一行df1.append(df2, ignore_index=False, verify_integrity=False, sort=None)df2 可以是dataframe,series,dict,listignore_index指定true,忽略索引。否则series可能报错。行拼接(添加行)pd.concat(objs, axis=0, join='outer', ignore_index=F原创 2021-03-26 16:35:02 · 176 阅读 · 0 评论 -
Matplotlib 画布作图(单个子图)
思路:先生成图片,再添加画布,随后画图,最后逐步添加属性设置基本设置plt.rcParams['font.size']= 5.5plt.rcParams['font.family']='Arial'初始化图片和画布fig = plt.figure(figsize=(4,2),dpi=300)ax1 = fig.add_subplot(111)画图(推荐使用DataFrame.plot函数)emisGroup.plot(kind='barh', ax=ax1, stacked=True,原创 2021-03-26 16:31:50 · 518 阅读 · 4 评论 -
Python制作mp4
主要用到opencv,把某一天上午6:00-10:00的每隔10s的1440张照片制作成了视频动画。(制作耗时很短)import cv2 as cvdef export_video(date): # '1221','1222',etc img = cv.imread('Time_Panel/{}/6-0-0.png'.format(date)) imgInfo = img.shape size = (imgInfo[1],imgInfo[0]) four_cc =原创 2021-03-26 16:22:29 · 911 阅读 · 0 评论 -
Python制作GIF动图
主要用到的是imageio库import imageiodef create_gif(images, gif_name, duration): frames = [] for image_name in images: frames.append(imageio.imread(image_name+'.png')) imageio.mimsave(gif_name, frames, 'GIF', duration=duration)create_gif(im原创 2021-03-26 16:17:12 · 292 阅读 · 1 评论 -
OpenCV在已有图片上画点
(0,0)是在左下角,别的可能在右上角BGR模式,别的是RGB模式cv.imshow(‘img’,img)cv.waitKey()cv.destroyAllWindows()窗口保持cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])cv2.circle(输入的图片data,圆心位置,圆的半径,圆的颜色,圆形轮廓的粗细(如果为正)负数(-1)表示要绘制实心圆,圆边界的类型,中心坐标和半径值中的小数位数.原创 2021-03-26 11:21:26 · 4752 阅读 · 0 评论 -
Pandas逐行逐列逐元素的操作
逐行、逐列、逐元素的操作Pandas数据处理三板斧——map、apply、applymap详解分别对应map apply applymap 三种方法map:选中列,对列中的每个元素进行映射,映射函数只能有一个参数apply:可以实现map的功能,也可以跨列操作。映射函数可以有多个参数,实现更复杂的功能applymap:对df中的元素逐个操作。用途不如apply广,但特定情况下比较香例子数据import randomimport pandas as pdimport numpy as np原创 2021-03-26 10:58:58 · 2585 阅读 · 2 评论 -
Basemap画初始地图(1)
首先,Basemap类直接就是世界地图。from mpl_toolkits.basemap import Basemapimport matplotlib.pyplot as plt可以通过指定以下参数得到自己需要的部分:ArgumentDescriptionllcrnrxThe lower left corner x coordinate, in the projection unitsllcrnryThe lower left corner y coordinat原创 2021-03-26 10:56:18 · 429 阅读 · 0 评论 -
pandas求滑动平均值
df.rolling(3, center=True).mean()如果求最小值、最大值、求和等,可以改变最后面的函数,比如df.rolling(3, center=True).min()df.rolling(3, center=True).max()df.rolling(3, center=True).sum()其他参数:DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis原创 2021-03-02 16:04:46 · 5817 阅读 · 0 评论