Python之Pandas读写文件及索引操作
当使用Pandas做数据分析时,需要读取事先准备好的数据集,这是做数据分析的第一步。Pandas提供了多种读取数据的方法:
read_csv()用于读取文本文件
read_json()用于读取json文件
read_sql_query()读取sql语句的
⛄CSV读写文件 CSV又称逗号分隔值文件,是一种简单的文件格式,以特定的结构来排列表格数据。 CSV文件能够以纯文本形式存储表格数据,比如电子表格、数据库文件,并具有数据交换的通用格式。CSV文件会在Excel文件中被打开,其行和列都定义了标准的数据格式。
将CSV中的数据转换为DataFrame对象是非常便捷的。和一般文件读写不一样,它不需要你做打开文件、读取文件、关闭文件等操作。相反,您只需要一行代码就可以完成上述所有步骤,并将数据存储在DataFrame中。
在Pandas中用于读取文本的函数有两个,分别是:read_csv()和read_table(),它们能够自动地将表格数据转换为DataFrame对象。
pandas.read_csv(filepath_or_buffer, sep=',', ...
Python之Pandas详解
Pandas是Python语言的一个扩展程序库,用于数据分析。
Pandas是一个开放源码、BSD许可的库,提供高性能、易于使用的数据结构和数据分析工具。
Pandas名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python数据分析)。
Pandas一个强大的分析结构化数据的工具集,基础是NumPy(提供高性能的矩阵运算)。
Pandas可以从各种文件格式比如CSV、JSON、SQL、Microsoft Excel 导入数据。
Pandas可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。
Pandas广泛应用在学术、金融、统计学等各个数据分析领域。
Pandas主要包括以下几个特点:
它提供了一个简单、高效、带有默认标签(也可以自定义标签)的DataFrame对象。
能够快速从不同格式的文件中加载数据(比如 Excel、CSV 、SQL文件),然后转换为可处理的对象;
能够按数据的行、列标签进行分组,并对分组后的对象执行聚合和转换操作;
能够很方便地实现数据归一化操作和缺 ...
Python之NumPy详解
NumPy(Numerical Python) 是Python语言的一个数值计算扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy的前身Numeric最早是由Jim Hugunin与其它协作者共同开发,2005年,Travis Oliphant在Numeric中结合了另一个同性质的程序库Numarray的特色,并加入了其它扩展而开发了NumPy。NumPy为开放源代码并且由许多协作者共同维护开发。
NumPy是一个运行速度非常快的数学库,主要用于数组计算,包含:
一个强大的N维数组对象ndarray,对数组进行函数运算;
数值积分;
广播功能函数;
整合C/C++/Fortran代码的工具;
线性代数、傅里叶变换、随机数生成等功能。
NumPy通常与SciPy(Scientific Python)和Matplotlib(绘图库)一起使用, 这种组合广泛用于替代MatLab,是一个强大的科学计算环境,有助于我们通过Python学习数据科学或者机器学习。
SciPy是一个开源的Python算法库和数学工具包。SciPy包含的模块有最优化、线性 ...
Matlab语法基础(01)
MathWorks公司创立于 1984 年,是领先的为工程师和科学家提供数学计算软件的供应商,旗下产品包括MATLAB产品家族、Simulink产品家族及 PolySpace产品家族。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是一种用于算法开发、数据可视化、数据分析及数值计算的高级技术计算语言和交互式环境。MATLAB的应用范围非常广,包括信号和图像处理、通信、控制系统设计、测试和测量、财务建模和分析,以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了MATLAB的使用环境,以解决这些应用领域内特定类型的问题。
Simulink是一个用于对动态系统进行多域建模和模型设计的平台。它提供了一个交互式图形环境,以及一个自定义模块库,并可针对特定应用加以扩展,可应用于控制系统设计、信号处理和通信及图像处理等众多领域。
PolySpace提供代码验证,可确保消除源代码中的溢出、除零、数组访问越界及其他运行错误。此类产品可以证明源代码中不存在某些运行错误,使工程师能够选择并跟踪嵌入式软件质量的指标和阈值,帮助软件团队更好地定义质量 ...
IDL语法基础(01)
⛄IDL简介交互式数据语言——IDL(Interactive Data Language)是进行应用程序开发、科学数据分析与可视化表达的理想工具。IDL是基于矩阵运算的计算机语言,它语法简单,自带大量的功能函数,用很少的几行代码就能实现其它语言很难实现的功能。利用IDL可以快速地进行科学数据读写、三维数据可视化、数值运算和三维图形建模等。IDL可以应用在地球科学(包括气象、水文、海洋、土壤和地质等),医学影像、图像处理、GIS系统、软件开发、测试、天文、航空航天、信息处理、数学统计与分析以及环境工程等领域。IDL的优势:
数据访问 —— 灵活的数据输入、输出方式。在科学研究中,将会使用大量不同格式的数据。IDL 基本上支持各种数据格式,并提供了大量的数据读写工具,免除数据读写的烦恼,可以将更多的精力投入到数据分析。
数据分析 —— 强大的图像处理、信号处理和数据统计分析能力。IDL 集成了完善的数据分析、数据统计、图像处理和信号处理软件包。项目应用 IDL 可以节省大量时间。使用传统的 C 或者 FORTRAN 语言需要数天或数周的项目,使用 IDL 可以在数小时内完成。
数据可视化 ...
Python异常处理-模块Model/Package-文件处理
⛄异常处理编写计算机程序时,通常能够区分正常和异常(不正常)情况。异常事件可能是错误(如试图除以零),也可能是通常不会发生的事情。为处理这些异常事件,可在每个可能发生这些事件的地方都使用条件语句。例如,对于每个除法运算,都检查除数是否为零。然而,这样做不仅效率低下、缺乏灵活性,还可能导致程序难以卒读。你可能很想忽略这些异常事件,希望它们不会发生,但Python提供功能强大的替代解决方案——异常处理机制。
Python使用异常对象来表示异常状态,并在遇到错误时引发异常。异常对象未被处理(或捕获)时,程序将终止并显示一条错误消息(traceback)。
In [1]:1/0Traceback (most recent call last): File "<ipython-input-2-9e1622b385b6>", line 1, in <module> 1/0ZeroDivisionError: division by zero
如果异常只能用来显示错误消息,就没多大意思了。但事实上,每个异常都是某个类的实例。你能以各种方式引发和捕 ...
Python面向对象详解
⛄面向对象基本概念面向过程和面向对象,是两种不同的编程方式。
👀面向过程
把完成某一个需求的所有步骤,从头到尾逐步实现;
根据开发需求,将某些功能独立的代码封装成一个又一个函数;
最后完成的代码,就是顺序地调用不同的函数。
特点:
注重步骤与过程,不注重职责分工;
如果需求复杂,代码会变得很复杂;
开发复杂项目,没有固定的套路,开发难度很大!
👀面向对象相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法。
在完成某一个需求前,首先确定职责——要做的事情(方法);
根据职责确定不同的对象,在对象内部封装不同的方法(多个);
最后完成的代码,就是顺序地让不同的对象调用不同的方法。
特点
注重对象和职责,不同的对象承担不同的职责;
更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路;
需要在面向过程基础上,再学习一些面向对象的语法。
⛄类和对象👀类和对象的概念类和对象是面向对象编程的两个核心概念。
(1)类
类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用。
特征被称为属性;
行为被称为方法;
类就相当于制 ...
Python小知识点
⛄变量的应用变量和数据都是保存在内存中的,在Python中函数的参数传递以及返回值都是通过引用传递的。
👀引用的概念在Python中:
变量和数据是分开存储的;
数据保存在内存中的一个位置;
变量中保存着数据在内存中的地址;
变量中记录数据的地址,就叫作引用;
使用id()函数可以查看变量中保存数据所在的内存地址。
注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是修改了数据的引用。
变量不再对之前的数据引用;
变量改为对新赋值的数据引用。
👀函数的参数和返回值的传递在Python中,函数的实参/返回值都是通过引用来传递的。
def mytest(n): print("*"*50) print("%d 在函数内的内存地址是%x" % (n,id(n))) result = 10000 print("返回值%d在函数内的内存地址是%x" % (result,id(result))) print("*"*50) return resu ...
Python中的正则表达式详解
⛄正则表达式概述正则表达式(Regular Expression)是强大、便捷、高效的文本处理工具。正则表达式本身,加上如同一门袖珍编程语言的通用模式表示法(general pattern notation),赋予使用者描述和分析文本的能力。配合上特定工具提供的额外支持,正则表达式能够添加、删除、分离、叠加、插入和修整各种类型的文本和数据。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。正则表达式的使用难度只相当于文本编辑器的搜索命令,但功能却与完整的文本处理语言一样强大。正则表达式的特点是:
灵活性、逻辑性和功能性非常强;
可以迅速地用极简单的方式达到字符串的复杂控制;
对于刚接触的人来说,比较晦涩难懂。
⛄RE语法中特殊元素👀.匹配所有字符.表示要匹配除了换行符之外的任何单个字符。其中点代表了任意的一个字符,注意是一个字符。
import restr = re.compile(r".").findall("xiaotangsmile ...
ERA5数据下载和批处理教程
ERA5 再分析数据是最新一代的再分析数据,由欧盟资助的哥白尼气候变化服务(C3S)创建,由 ECMWF 运营。同化了包括全球范围内不同区域和来源的遥感资料、地表与上层大气常规气象资料。它覆盖了 1950 年至今的历史时期,实现了实时更新,延迟约 3 个月。ERA5 在其前身 ERA-Interim 的基础上进行了大幅升级,在时间分辨率和空间分辨率上都有显著提高。
ERA5 再分析资料提供了许多种类的要素,包括 2m 温度、2m 相对湿度、海平面气压、10m 风等地面要素以及温度、相对湿度、位势高度、风场等高空要素。
⛄ERA5数据下载本例子以ERA5 monthly averaged data on single levels from 1959 to present数据为基础,下载2017、2018、2019、2020、2021年ERA5再分析数据,并进行批处理。数据变量主要包括:
2m_temperature
skin_temperature
total_precipitation
👀前期准备进入 Climate Data Store(CDS),官方网站,注册新用户(已有请 ...