Python
文章平均质量分 72
python编程中遇到的一些简单问题的记录
小朱小朱绝不服输
这个作者很懒,什么都没留下…
展开
-
Anaconda安装Jupyter Notebook及使用
文章目录一、什么是Jupyter Notebook1. 网页应用2. 文档二、安装 Jupyter Notebook1. 安装前提2. Anaconda安装3. 使用pip安装三、运行 Jupyter Notebook1. 启动1)默认端口2)指定端口启动3)启动服务器但不打开浏览器2. 主页面1)设置Jupyter Notebook文件存放位置四、Jupyter Notebook使用1. Files页面2. Running页面3. Clusters页面五、加载本地Python文件1. 方法2. 举例六、直原创 2022-01-13 11:22:50 · 37372 阅读 · 5 评论 -
python绘制风场方向和大小quiver
最近需要根据再分析资料的U风和V风分析背景场的风场走向和大小,需要在地图上绘制风场箭头。先看一下结果:长度代表风速大小,箭头指向代表风向。绘制的经纬度区间由计算的经纬度数组决定。一、python调用quiver绘制风场箭头风场主要是用箭头表示风的方向和大小,python中调用的方法为:Axes.quiver(*args, data=None, **kw)调用quivers的形式:quiver(X, Y, U, V, C, **kw)X、Y是箭头的位置,U、V是箭头数据(data),C是原创 2021-12-13 17:42:30 · 12263 阅读 · 1 评论 -
python处理问题汇总三(字体显示,显示上标,x轴重叠,添加标签,保存图片等)
文章目录1. python中文显示问题2. python设置Times New Roman字体3. 字符串显示上标4. subplot绘图主标题(plt.suptitle)被覆盖5. 保存图片设置分辨率,图片显示不全的问题6. subplot绘制多张图片时,出现压缩图片的情况7. x轴重叠的问题8. python画图时添加标签在python编程过程中可能遇到中文显示,英文字体设置,字符串上标显示,图片保存问题等问题。1. python中文显示问题方法一:# 解决中文显示问题plt.rcParams原创 2021-11-23 17:03:41 · 5025 阅读 · 1 评论 -
python绘制箱线图boxplot()
最近在处理数据时,需要使用python绘制箱线图。1. 箱线图箱线图(Box-plot)又称为盒式图或箱型图,是一种用来显示一组数据分散情况的统计图,它能显示一组数据的上界、下界、中位数、上下四分位数以及异常值等。四分位数:就是把一组数据按照从小到大的顺序进行排列,然后分成四等份,处于三个分割点位置的数字就是四分位数;第一四分位数(q1):又称“较小四分位数”或“下四分位数”,等于该样本中所有数值由小到大排列后第25%的数字,q1的位置 = 1+(n-1)x 0.25;第二四分位数(q2):又原创 2021-11-20 17:40:41 · 58125 阅读 · 4 评论 -
python使用matplotlib绘制二维坐标轴,设置箭头指向,文本内容
我们在使用matplotlib绘制图像时,默认的坐标轴是在左下角,这样对于一些曲线的显示就不太清楚。如下:import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-10, 10, 100)y1 = 2 * xy2 = x * xplt.figure()plt.xlabel('X axis')plt.ylabel('Y axis')plt.plot(x, y1, linestyle='--')plt.plot(原创 2021-09-01 15:30:23 · 6630 阅读 · 0 评论 -
python正则表达式系统性学习——一文搞懂正则表达式
有时候字符串匹配解决不了问题,这个时候就需要正则表达式来处理。因为每一次匹配(比如找以什么开头的,以什么结尾的字符串要写好多个函数)都要单独完成,我们可以给它制定一个规则。主要应用:爬虫的时候需要爬取各种信息,使用正则表达式可以很方便的处理需要的数据。1. 正则表达式的基本概念使用单个字符串来描述匹配一系列符合某个语法规则的字符串。是对字符串操作的一种逻辑公式。应用场景:处理文本和数据。正则表达式过程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功,否则失败。2. p原创 2021-08-31 17:44:35 · 1069 阅读 · 6 评论 -
python使用matplotlib绘制图片时x轴的刻度处理
在使用matplotlib绘制图片时,x轴的刻度可能比较密集,特别是以日期作为x轴时,则最后会显示不出来。数据如下:绘制随时间变化的值的折线图。直接绘制折线图,可以发现x轴重叠。plt.plot(Date, V1, 'r', label='a')plt.plot(Date, V2, 'blue', label='b')plt.plot(Date, V3, 'black', label='c')plt.plot(Date, V4, 'yellow', label='d')可以导入ticke原创 2021-08-27 16:34:23 · 4430 阅读 · 4 评论 -
python使用双线性插值计算网格内数据
最近在处理再分析资料网格数据时,需要用到插值方法,双线性插值速度比较快,所以考虑双线性插值方法。双线性插值,故名思义就是在x和y方向分别进行线性插值。双线性插值一般用于图像处理,对一个个像素块进行线性插值。1.双线性插值已知网格点Q12,Q22,Q11,Q21,但是要插值的点为P点,这就要用双线性插值了,首先在x轴方向上,对R1和R2两个点进行插值,这个很简单,然后根据R1和R2对P点进行插值,这就是所谓的双线性插值。在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别原创 2021-08-23 10:03:12 · 3805 阅读 · 3 评论 -
Python数据分析与挖掘
1. 数据读取保存1)pandas数据读取读取Excel:read_excel()df_excel = pd.read_excel(‘data.xlsx’, sheet_name=’TestData’) # 默认sheet1保存Excel:to_excel()df_excel.to_excel(‘data_new.xlsx’) # 文件存在,则覆盖原来的在同一个Excel文件写入多个sheetwriter = pd.ExcelWriter(‘test.xlsx’)df_excel.t原创 2021-08-12 11:33:00 · 565 阅读 · 0 评论 -
ERA5再分析资料下载
最近使用分辨率更高的ERA5再分析资料,分辨率为0.25x0.25,记录一下下载的过程。1. 注册登录首先搜索ERA5,打开ERA5网站。需要登录账号,没有账号的先注册。1)填写信息提交注册后网站提示将发送邮件给你填写的邮箱2)打开邮件中的第一个链接设置账号密码设置完成后,网页提示密码已设置完成,并自动登录。同时可以看到相关的ERA5的介绍以及下载。可以看到右边有ERA5 documentation。这里有如何下载ERA5的介绍。2.配置CDS API密钥需要配置apiKey信息。原创 2021-08-09 15:44:13 · 6595 阅读 · 1 评论 -
python处理问题汇总二(重复值索引,顺序读取文件,drop函数,数组元素排名)
1. python处理重复值索引问题python3 的index函数只能索引要查找元素的首个索引,这个在多数情况是不能满足索引要求的。listA = [1, 2, 3, 2]print(listA.index(2))1而enumerate函数可以遍历所有元素,可以利用这个函数+列表推导式实现获取所有重复元素的索引值。listA = [1, 2, 3, 2] #比如要查找列表中的数字2。indexA = [x for (x, m) in enumerate(listA) if m == 2原创 2021-07-26 14:34:31 · 1013 阅读 · 0 评论 -
python绘制登陆时的卫星云图(TBB)
根据前面的文章python处理卫星云图获取亮温值可以从hdf文件中获取某时刻某经纬度的亮温值。然后就是把这些读取的亮温值可视化,绘制成TBB的卫星云图。先展示一下结果:1.读取hdf文件详见上篇文章,这里不再赘述,再贴一下代码。主要是从全圆盘标对称文件经纬度对照表获取经纬度和从hdf文件中获取亮温值。# 从全圆盘标对称文件经纬度对照表获取经纬度def getLatLonFromdat(): lonlatfile = 'F:/IR/Satellite_Imagery/Code/NOM_原创 2021-07-19 14:36:00 · 8261 阅读 · 33 评论 -
python绘制极坐标轮廓图contourf
任务:将每个象限的风速,距离,角度绘制成极坐标轮廓图。使用极坐标画等直线图,可以用极地图的ax.contour或ax.contourf 。1.变量计算每个象限的风速,距离就不再说怎么画了,这里说下角度的计算。两个经纬度之间的夹角(与正北方向的夹角):# 点1到点2方向沿逆时针方向转到正北方向的夹角def LatLng2Degree(LatZero,LngZero,Lat,Lng): """ Args: point p1(latA, lonA) p原创 2021-07-15 14:49:19 · 4500 阅读 · 0 评论 -
python插值(scipy.interpolate模块的griddata和Rbf)
1.插值scipy.interpolateSciPy的interpolate模块提供了许多对数据进行插值运算的函数,范围涵盖简单的一维插值到复杂多维插值求解。一维插值:当样本数据变化归因于一个独立的变量时;多维插值:反之样本数据归因于多个独立变量时。注:一维插值这里就不再讲述了,主要是对二维插值的一个总结。2.interp2d()from scipy.interpolate import interp2dinterp2d(x,y,z,kind='linear')这里有几个注意事项:原创 2021-07-15 10:12:34 · 26483 阅读 · 0 评论 -
python使用BaseMap画地图时出现解码错误
最近在使用python的basemap库画中国地图的时候,出现读取地图的文件时出现编码错误。错误如下:Traceback (most recent call last): File "C:/Users/admin/PycharmProjects/untitled/TC/track_plot.py", line 97, in <module> shp_info = bmap.readshapefile(r'F:\CHN_adm_shp\CN_pro', 'states', draw原创 2021-05-20 21:08:31 · 2472 阅读 · 8 评论 -
python处理卫星云图获取亮温值
在处理卫星云图hdf文件时,matlab非常好用,但随着python的流行,还是想学习一下python处理卫星云图数据获取亮温值。我处理数据的前提是:根据最佳路径数据集,获取经纬度和时间。根据时间找对应的hdf文件,获取其中的经纬度,然后根据hdf文件中的经度确定是哪颗卫星的。在全圆盘标对称文件经纬度对照表dat文件获取经纬度时加上相应的经度。最后根据最佳路径的经纬度获取dat文件中最近格点的经纬度索引,再通过hdf文件获得亮温值。1.处理hdf文件import h5pyhdfFile原创 2021-04-29 17:28:52 · 8762 阅读 · 6 评论 -
JTWC数据下载及处理
由于最近一段时间JTWC官网的数据无法获取http://www.metoc.navy.mil/jtwc/jtwc.html?western-pacific.官网留下,指不定啥时候又能进了。我现在需要处理JTWC的台风路径数据,于是找到一个新的网站,该网站把多个观测站的数据都整合到一块,需要解析,不过有总比没有强。https://www.ncdc.noaa.gov/ibtracs/index.php?name=ib-v4-access可以根据整理好的CSV筛选数据,直接点CSV,或者进入网站https:原创 2020-12-16 16:33:44 · 8760 阅读 · 6 评论 -
python处理FNL数据的grib文件和nc文件(纬度存储的问题)
在使用python处理FNL数据时,2007年及之前的数据存储为grib文件,2007年以后为grib2文件,在数据处理时,将grib2转化为nc文件处理Windows上python读取grib2文件(不用Linux),对grib文件则安装了Anaconda环境处理Windows下xarray+cfgrib读取grib文件。但在根据经纬度读取变量的时候,发现不同文件的存储不同,而变量是根据经纬度存储的下标去获取值,所以需要注意一下不同的文件的存储内容。1.python获取FNL的nc文件对应的变量nc_原创 2020-10-28 21:46:44 · 5457 阅读 · 2 评论 -
python-Pandas库
Pandas是python数据处理重要的一个第三方库。import pandas as pd一、Pandas库入门1.Pandas库数据类型两个数据类型:Series,DataFrame基于上述数据类型的各类操作基本操作、运算操作、特征类操作、关联类操作Pandas库和Numpy库的区别:NumpyPandas基础数据类型扩展数据类型关注数据的结构表达关注数据的应用表达维度:数据间的关系维度:数据和索引间的关系1.1Pandas的Series类型原创 2020-10-15 22:41:56 · 7774 阅读 · 0 评论 -
Python作图:Matplotlib库
一、Matplotlib入门1.Matplotlib简单介绍Matplotlib库的使用Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发。Matplotlib.pyplot是绘制各类可视化图形的命令子库。import matplotlib.pyplot as pltplt.savefig()#将输出的图形存储为文件,默认PNG2.plt.plot()plt.plot(x,y)当有两个以上参数时,按照X轴Y轴顺序绘制数据点。plt.axis([-1, 10,原创 2020-10-13 22:54:28 · 1615 阅读 · 1 评论 -
安装eccodes运行代码出错解决
为了在Windows下读取grib文件,在Anaconda环境下安装了xarray+cgrib+eccodes。参考WIndows下xarray+cgrib读取grib文件。在Anaconda下新建虚拟环境安装相应的依赖库,参考Windows下Anaconda的下载,安装与使用。程序在Prompt中正确运行。但在Pycharm中新建project,更换Anaconda新建的虚拟环境下的python解释器运行,报错ECCODES ERROR : Unable to find boot.def. Contex原创 2020-09-18 09:42:54 · 11205 阅读 · 9 评论 -
Windows下xarray+cfgrib读取grib文件
在Windows下读取grib文件,在我上一篇博客Windows上python读取grib2文件(不用Linux)学习了使用wgrib2处理grib2文件,可以直接读,也可以转化为nc文件(转化后python就容易处理了)。而对于grib文件,下载wgrib处理可以,但不能转化为nc文件。本博客学习使用xarray和cgrib读取及转化grib数据。一、气象数据常用格式常用的数据格式包括普通的二进制格式、文本数据、NetCDF、HDF4/5以及GRIB1/2数据。这里简单介绍一下NetCDF和GRIB1原创 2020-09-17 11:23:45 · 19594 阅读 · 31 评论 -
解决python爬虫时遇到AttributeError: ‘NoneType‘ object has no attribute ‘find_all‘
最近在练习学到的爬虫实例遇到AttributeError: ‘NoneType’ object has no attribute 'find_all’的错误。爬虫要求如下:任务描述:https://movie.douban.com/cinema/later/beijing/ 这个页面描述了北京最近上映的电影,你能否通过 Python 得到这些电影的名称、上映时间和海报呢?这个页面的海报是缩小版的,我希望你能从具体的电影描述页面中抓取到海报。在运行老师给的代码如下:import requestsfr原创 2020-09-16 22:38:41 · 80441 阅读 · 19 评论 -
Windows下Anaconda的下载,安装与使用
python需要大量的依赖库(如numpy,pandas),安装依赖库的方法主要有两种:直接使用pip命令:pip install ....安装Anaconda:conda install ...相对于前者。Anaconda的安装可以为我们提供好多便利。一、Anaconda的下载Anaconda 官网下载地址:https://anaconda.org/官网中提供的是最新版本python对应的Anaconda。清华镜像下载地址:https://mirrors.tuna.tsinghua.原创 2020-09-15 11:06:58 · 4327 阅读 · 0 评论 -
python读写数据读写csv文件--pandas用法
python中数据处理是比较方便的,经常用的就是读写文件,提取数据等,本博客主要介绍其中的一些用法。Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。一、pandas读取csv文件数据处理过程中csv文件用的比较多。import pandas as pddata = pd.read_csv('F:/Zhu/test/test.csv')下面看一下pd.read_csv常用的参数:pandas.rea原创 2020-09-09 17:06:57 · 2792 阅读 · 0 评论 -
python处理问题汇总一(for循环range内设置小数,四舍五入,时间差,读写文件等)
在用python处理数据的过程中,遇到了一些问题,查阅资料解决后,特此总结,方便以后查看。一、如何设置for循环的range函数为小数我们在使用for循环的时候,for循环可以遍历任何序列的项目,如一个列表或者一个字符串。一般使用的语法为:for iterating_var in sequence: statements(s)另外一种执行循环的遍历方式是通过索引,如下实例:fruits = ['banana', 'apple', 'mango']for index in range(原创 2020-09-02 14:44:49 · 27541 阅读 · 0 评论 -
TC气象数据下载包括NCEP的FNL(python脚本)、STI的Best_track、NOAA的SST
TC气象数据的下载,首先需要下载每一年的台风的最佳路径数据集,然后根据最佳路径数据集上的台风的时间点,经纬度去NCEP上的FNL数据查找对应时间点,经纬度的环境变量,最后海温的数据从NOAA上下载。1.NCEP的FNL资料下载NCEP/NCAR再分析数据集是由美国气象环境预报中心(NCEP)和美国国家大气研究中心(NCAR)联合制作的,他们采用了当今最先进的全球资料同化系统和完善的数据库,对各种来源(地面、船舶、无线电探空、测风气球、飞机、卫星等)的观测资料进行质量控制和同化处理,获得了一套完整的再分析原创 2020-08-27 16:07:45 · 4377 阅读 · 13 评论 -
python读取fnl数据计算200-800km范围内的区域平均、散度、涡度实现grads函数
之前的气象数据如从NCEP中下载的FNL数据一般都是采用Grads处理,但Grads的代码语言比较繁杂,而且一般只用来处理气象数据,所以逐渐都不维护了。作为新生代的python,可以用来解决很多,因此就用python来处理这些问题。1.python读取FNL数据由于网上下载的NCEP的fnl数据,07年以后只有grib2文件格式,python读取grib文件需要依赖pygrib库,这个依赖库只有Linux、Mac OS系统下可以使用,Windows系统没有这个依赖库,因此这里通过wgrib2将grib2原创 2020-08-26 11:08:17 · 6151 阅读 · 2 评论 -
Windows上python读取grib2文件(不用Linux)
最近在网上下载的NCEP的fnl数据,发现只有grib2文件格式。因为现在处理数据使用的更多的是python,matlab一类的。网上一搜python读取grib文件需要依赖pygrib库,pygrib是欧洲中期天气预报中心(ECMWF)的GRIG API C库的Python接口,通过这个库就可以将Grib数据读取出来。但这个依赖库只有Linux、Mac OS系统下可以使用,Windows系统没有这个依赖库,因此Windows下python不能直接读取grib文件。但python可以处理nc文件,想办法把g原创 2020-08-17 15:40:25 · 12317 阅读 · 24 评论 -
python实现浮点数二进制与十进制之间的转换
浮点数二进制与十进制之间的转换在使用遗传算法的时候,需要对数据进制二进制编码,所以改的这个浮点数不同进制之间转换的一个代码直接上代码#二进制转化为十进制浮点数def todecimal(n): ''' 把一个带小数的二进制数n转换成十进制 小数点后面保留pre位小数 ''' # number1 表示二进制数,number2表示十进制数 string_number1=str(n) decimal = 0 # 小数部分原创 2020-05-18 14:56:03 · 5378 阅读 · 1 评论