2017.02.18:利用python进行数据分析02

本文介绍了Pandas库中的核心数据结构Series和DataFrame,并详细解释了如何利用这些数据结构进行数据处理,包括数据加载、转换及合并等操作。文中还探讨了如何处理不同格式的数据源如CSV、JSON和XML等,以及如何在MongoDB数据库中组织数据。

1.pandas数据结构:Series和DataFrame。

1.1.Series是一种类似于一位数组的对象,它由一组数据以及一组与之相关的数据的标签组成。

1.2.NaN:Not aNumber,非数字,表示缺失或是NA值。

1.3.pandas中的index,将轴标签表示为一个由python对象组成的Numpy数组。Index对象不可修改。

1.4.对于一个DataFrame,每条轴都可以有分层索引。

2.大部分存储在磁盘上的表格类型数据都能用pandas.read_table进行加载。对于任何单字符号符分隔符文件,可以直接使用python内置的CSV模块,将任意已打开的文件或文件类型的对象传给CSV.reader。

3.通过JSON.loads即可将JSON字符串转换成Python形式。

3.XML(ExtensibleNarkup Language)是另一种常见的支持分层。嵌套数据以及元数据的结构化格式。

4.存储在MongoDB中的文档被组织在数据库的集合中,MongoDB服务器的每个运行实例可以村多个数据库,而每个数据又可以有多个集合。

5.Pandas对象中的数据可以同郭一些内置方式进行合并。

5.1.pandas.merge可根据一个或多个键将不同DataFrame中的行连接起来。SQL或其他关系型数据的用户对此应该会比较熟悉。实现数据库的连接操作。

5.2.Pandas.contact可以沿着一条轴将多个对象堆叠到一起。

5.3.实例方法combine.first可以将重复数据编接在一起。用一个对象中的值填充另一个对象中的缺失值。

5.4.默认情况下,merge做的是inner链接,结果中的健是交集。

6.DataFrame中的join实例方法,实现按索引合并。用于合并多个带有相同或相似索引的DataFrame对象。

7.层次化索引为DataFrame数据的重排任务提供了一种具有良好一致性的方式。

7.1.stack:将数据的列“旋转”为行。

7.2.unstack:将数据的行“旋转”为列。

stack默认会滤除缺失数据,该运算是可逆的。

现在我有8个.nc文件关于陕西2000-2023年逐日降水量,地址如下:"E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2023.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2000.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2001.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2002.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2003.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2004.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2005.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2006.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2007.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2008.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2009.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2010.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2011.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2012.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2013.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2014.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2015.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2016.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2017.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2018.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2019.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2020.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2021.nc" "E:\shuju\processed\SHAANXI_CHM_PRE_V2_daily_2022.nc"需要你给我一个脚本画出陕西2000-2023年陕西极端降水量变化趋势空间分布图,如具体要求如下:1.只需要陕西省数据,陕西省shp地址如下:"E:\shuju\China site\9ce02-main\陕西省行政区划\陕西省.shp",2.定义极端降水阈值进行序列排序时,是将2000-2023年所有日降水量按升序排列,取序列第95个百分位的日降水量作为该网格极端降水阈值,3.利用1961—2013年78个台站汛期极端降水量的时间序列,计算每个网格线性变化趋势,利用趋势系数绘制全省趋势变化分布图,变量列表: ['time', 'lat', 'lon', 'spatial_ref', 'prec']变量详细信息: 变量名: time 维度: ('time',) 数据类型: int64 单位: days since 2000-01-04 00:00:00 ------------------ 变量名: lat 维度: ('lat',) 数据类型: float32 单位: degrees_north ------------------ 变量名: lon 维度: ('lon',) 数据类型: float32 单位: degrees_east ------------------ 变量名: spatial_ref 维度: () 数据类型: int32 ------------------ 变量名: prec 维度: ('time', 'lat', 'lon') 数据类型: float64 单位: mm/day
最新发布
05-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值