pandas入门指南

上一篇讲了numpy,除此之外,还有一个工具我们一定会使用,那就是pandas。如果说numpy中数据存储形式是列表的话,那么pandas中数据的存储形式更像是字典。为什么这么说呢?因为pandas中的数据每一行每一列都有名字,而numpy中没有。本文主要介绍pandas的基本使用方法,更多高级用法大家可以参考 pandas官方文档

一、pandas的安装及导入

安装:命令行中输入以下代码

导入:为了简便,这里使用pd作为pandas的缩写(因为pandas依赖numpy,所以在使用之前需要安装和导入numpy)

二、新建pandas列表、矩阵及其属性

创建方法:pd.Series:创建pandas列表pd.daterange:创建pandas日期列表pd.DataFrame:创建pandas矩阵矩阵属性dtypes:数据类型index:行名columns:列名values:数据值describe():实值数据列的统计数据T:矩阵的倒置sortindex(axis=, ascending=):矩阵排序sort_values(by=, ascending=):按某一列的值排序

三、pandas选择数据

.列名:选择某一列[列名]:选择某一列[start : end]:选择行索引以start开头,end - 1结尾的数据[行名start:行名end]:选择行名以start开头,end结尾的数据loc[行名选择, 列名选择]:根据行名和列名选择数据iloc[行索引选择, 列索引选择]:根据行索引和列索引选择数据ix[行 名/索引 选择,列 名/索引 选择]:混合 名/索引 选择数据[布尔表达式]:根据布尔表达式结果选择数据,只有当布尔表达式为真时的数据才会被选择

四、pandas设置数据值

首先选择数据,然后直接通过赋值表达式,即可将选择的数据设置为相应的值

五、pandas处理NaN值

dropna(axis=, how=):丢弃NaN数据, fillna(value=):将NaN值都设置为value的值isnull():对每各元素进行判断是否是NaN,返回结果矩阵np.any(matrix) == value:判断matrix矩阵中是否有value值np.all(matrix) == value:判断matrix矩阵中是否所有元素都是value值

六、pandas读取数据、导出数据

根据数据的格式,pandas提供了多种数据读取和导出的方法,如:读取数据:readcsv、readtable、readfwf、readclipboard、readexcel、readhdf导出数据:tocsv、totable、tofwf、toclipboard、toexcel、tohdf

七、pandas合并数据

concat方法第一个参数:需要合并的矩阵axis:合并维度,0:按行合并,1:按列合并join:处理非公有 列/行 的方式,inner:去除非公有的 列/行,outer:对非公有的 列/行 进行NaN值填充然后合并ignore_index:是否重排行索引

merge方法第一个参数、第二个参数:需要合并的矩阵on:公有列名how:处理非公有行的方式,inner:去除非公有行,outer:对非公有的行进行NaN值填充然后合并,left:保留左矩阵的所有行,对非公有的元素进行NaN值填充,right:保留右边矩阵的所有行,对非公有的元素进行NaN值填充indicator:是否显示每一行的merge方式suffixes:非公有列的列名后缀

八、pandas数据可视化

pandas数据可视化依赖matplotlib库,所以在可视化数据之前应该先导入该库

首先通过np.ramdom方法生成四列随机数据然后通过cumsum对随机数据做累加再通过scatter方法以其中两列为绿色点X, Y的值,另两列为蓝色点X, Y的值最后使用plt.show()方法画图

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180713G171CS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券