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. C# based on PdfSharp to split pdf files and get MemoryStream C#基于PdfSharp拆分pdf,并生成MemoryStream

    install-package PdfSharp -v 1.51.5185-beta using System; using PdfSharp.Pdf; using System.IO; using ...

  2. yield return,yield break

    转自, http://www.cnblogs.com/kingcat/archive/2012/07/11/2585943.html yield return 表示在迭代中下一个迭代时返回的数据,除此 ...

  3. webform的原生操作图片预览和上传

    1.使用input标签进行图片操作,input的标签有一个accept属性,accept 属性只能与 <input type="file"> 配合使用.它规定能够通过文 ...

  4. python数据挖掘介绍

    目录 一:什么是数据挖掘 二:数据挖掘的基本任务 三:数据挖掘流程 四:数据挖掘建模工具   在python对数据的处理方式中,数据挖掘和数据分析是两个重要的方式,目的是为了从数据中获取具有科研或者商 ...

  5. Spring Boot MVC 使用 JSP 作为模板

    Spring Boot 默认使用 Thymeleaf 作为模板引擎,直接在 template 目录中存放 JSP 文件并不能正常访问,需要在 main 目录下新建一个文件夹来存放 JSP 文件,而且需 ...

  6. css去掉button点击后的蓝框

    转自:http://www.inbeijing.org/archives/1139 css控制Button 按钮的点击时候出现蓝色边框的问题 添加css属性,这样在点击安按钮的时候就不会有蓝色边框了. ...

  7. 【原】Spring测试类代码

    package test; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.bea ...

  8. springBoot添加日志管理

    一. 近期自己的项目想要一个记录日志的功能,而springboot本身就内置了日志功能,然而想要输入想要的日志,并且输出到磁盘,然后按天归档,或者日志的切分什么的,自带的日志仅仅具有简单的功能,百度了 ...

  9. rem与em的使用和区别详解【转】

    目录 最大的问题是 主要区别  rem 单位如何转换为像素值  em 单位如何转换为像素值 Em 单位的遗传效果 Em 继承的例子 浏览器设置 HTML 元素字体大小的影响 没有设置 HTML 字体大 ...

  10. Ansible配置执行远程主机的ssh端口号

    在线上的环境中,服务端的ssh会有进行变更的情况 例如:有些服务器的ssh端口号是 34567 等情况,那么该如何配置呢? 编辑 /etc/ansible/hosts [servers] 配置完毕后, ...