Pandas的安装

MAC

pip3 install pandas

若遇到管理员权限问题,加上sudo

接下来我们开始使用pandas

我们先构建一个一维序列:

s = pd.Series( [3, -5, 7, 4], index=['a', 'b', 'c', 'd'] )

接下来,我们打印pandas的另外一种数据形式, DataFrame

A two-dimensional labelled data structure with columns of potentially different types

使用代码构建如上所示的数据形式

  data = {

  'Country'     :  ['Belgium','India','Brazil'],
  'Capital'      :  ['Brussels','New Delhi','Brasilia'],
  'Population' :   [11190846,1303171035,207847528]

  }

  df = pd.DataFrame(data, columns=['Country','Capital','Population'])

打印结果如下:

一些简单的数据操作:

df.index     行索引

df.columns 列索引

df.values    显示数值

df.describe()

行列互换                              df.T

列名排序(columns)              df.sort_index(axis=1, ascending = False )

行名排序(rows)                     df.sort_index(axis=0, ascending = False)

对指定的列名进行排序           df.sort_values(by='Population') 

drop values from rows          s.drop(['a' , 'c'])   

drop values from columns     df.drop('Country', axis=1)

二、Pandas 选择数据

#select by label

选择第0,1行

df.loc[[0,1]]

选择'Country', 'Capital'列

选择第0行,第'Country'列

#select by position

选择固定数值 df.iloc[0,0]

选择Position行,第0列

切片      df.iloc[[1:2],[2:3]]

选择某行 df.iloc[0]

mixed方式          df.ix[[1,2],'Country']]

筛选数值  选择人口大于11190846的数值

df[df.Population>100000]

修改数值

将df的第二行,第二列修改为test

使用position:

df.iloc[2,2] = 'test'

使用label:

df.loc[2,'Capital'] = 'test'

另外一种修改数值的方法是比较大小:

df.Population[df.Population>10000] = 0

将Population列中数值大于10000的修改为0

Pandas处理丢失数据

去除任意一行,有空值:

df.dropna(axis=0, how='any')

去除任意一列,有空值:

df.dropna(axis=1, how='any')

将any改为all,意味着只有当所有的都是nan的时候,才能删除

填充值, 将nan填充为0:

df.fillna(value=0)

判断是否有缺失值:

df.isnull()

np.any(df.isnull()) == True

df.isnull()

读取文件和导入文件

读取:

data = pd.read_csv('student.csv',index_col='id')

导出:

data.to_csv('output.csv')

Pandas学习的更多相关文章

  1. 用scikit-learn和pandas学习线性回归

    对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了. 1. 获取数据,定义问题 没有数据,当然没法研究机器学习 ...

  2. Pandas 学习笔记

    Pandas 学习笔记 pandas 由两部份组成,分别是 Series 和 DataFrame. Series 可以理解为"一维数组.列表.字典" DataFrame 可以理解为 ...

  3. Python pandas学习总结

    本来打算学习pandas模块,并写一个博客记录一下自己的学习,但是不知道怎么了,最近好像有点急功近利,就想把别人的东西复制过来,当心沉下来,自己自觉地将原本写满的pandas学习笔记删除了,这次打算写 ...

  4. pandas学习(数据分组与分组运算、离散化处理、数据合并)

    pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表 ...

  5. pandas学习(创建多层索引、数据重塑与轴向旋转)

    pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...

  6. pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

    pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...

  7. pandas学习(创建数据,基本操作)

    pandas学习(一) Pandas基本数据结构 Series类型数据 Dataframe类型 基本操作 Pandas基本数据结构 两种常用数据结构: Series 一维数组,与Numpy中的一维ar ...

  8. pandas 学习总结

    pandas  学习总结 作者:csj 更新时间:2018.04.02 shenzhen email:59888745@qq.com home: http://www.cnblogs.com/csj0 ...

  9. 用 scikit-learn 和 pandas 学习线性回归

      用 scikit-learn 和 pandas 学习线性回归¶ from https://www.cnblogs.com/pinard/p/6016029.html 就算是简单的算法,也需要跑通整 ...

  10. pandas学习系列(一):时间序列

    最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用python的pandas库 发现pandas库功能的确很强大,因此在这记录我的pandas学习之路. # -*- cod ...

随机推荐

  1. JQ动态生成节点绑定事件无效问题

    最近做项目的时候遇见了一个问题,通过jq将动态节点绑定到dom节点上,并且为动态节点绑定方法,此方法再次为动态节点添加动态节点,但在刷新之后,动态节点上的方法失效了,过程为:创建动态节点->动态 ...

  2. vue 脚手架搭建步骤!

    ========================================================== 说出来都是泪,最开始都不知道从哪里开始(回头一看还是很简单的,关键是要找到入口)  ...

  3. Spring笔记01

    spring 第一章 Spring模块规划图 核心架包 spring-beans-4.0.0.RELEASE. spring-core-4.0.0.RELEASE. spring-context-4. ...

  4. Java常用类Date相关知识

    Date:类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串. Dat ...

  5. [转]技术比较Agent和Agentless监控优缺点

    本文并非原创,转自:http://wenku.baidu.com/link?url=NGT2NA7Lf6fZSPmcOxFQqL4cYROHlIOJyiWCnGdwv3kljMqub-6zyjgsSw ...

  6. linux时间校对

    在虚拟机中查看安装的linux时间,总是不对,于是查阅资料,有很多解决办法,我个人比较倾向于用ntpdate的方式更新时间. 感觉比较好用的一个方法: 输入date查看时间,发现不对,相差甚远!(当前 ...

  7. 8.InfluxDB-InfluxQL基础语法教程--ORDER BY子句

    本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/) 在InfluxDB中 ...

  8. Linux中断管理 (1)Linux中断管理机制【转】

    转自:https://www.cnblogs.com/arnoldlu/p/8659981.html 目录: <Linux中断管理> <Linux中断管理 (1)Linux中断管理机 ...

  9. linux设备驱动程序-设备树(2)-device_node转换成platform_device

    设备树处理之--device_node转换成platform_device 以下讨论基于linux4.14,arm平台 platform device 设备树的产生就是为了替代driver中过多的pl ...

  10. Ubuntu18.04.2下安装 RTX2080 Nvidia显卡驱动

    转载请注明出处:BooTurbo  https://www.cnblogs.com/booturbo/p/11261903.html 不久前入手了蓝天P870TM1G准系统,配置如下: 1. Z370 ...