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. Winform的控件以及DataGridView的一般使用

    先上学习测试的一些截图 1:获取多个控件上面的值(checkbox,combobox,textbox,radiobutton) 2:获取到选择行的主键ID的value,方便我们进一步CURD 3:获取 ...

  2. 02_python基础(面向对象编程)

    面向对象编程: 把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance ...

  3. 扫描不同域下的AD账户进行删除

    public ResultModel GetEntryOneToDel(string sAMAccountName) { bool del=false; ResultModel result = ne ...

  4. 虚拟机中安装Kali遇到的问题及解决方法

    title: 虚拟机中安装Kali遇到的问题及解决方法 date: 2018-11-25 12:25:43 tags: 安全 --- 关于Kali版本选择 kail官方下载页面 虚拟机中当然就下载虚拟 ...

  5. Mysql中的sql是如何执行的 --- 极客时间学习笔记

    MySQL中的SQL是如何执行的 MySQL是典型的C/S架构,也就是Client/Server架构,服务器端程序使用的mysqld.整体的MySQL流程如下图所示: MySQL是有三层组成: 连接层 ...

  6. 【原创】CentOS 7 安装airflow

    该文是基于python虚拟化环境来安装,非虚拟化也是一样,虚拟化我只是不想破环系统环境. 安装python虚拟环境 pip install virtualenv 设置环境变量 sudo vi /etc ...

  7. URL 路由系统 + views 函数

    一.URL URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段 ...

  8. Jenkins连接Git仓库时候报错Permission denied, please try again.

    一.连接GIT仓库报错 Failed to connect to repository : Command : stdout: stderr: Permission denied, please tr ...

  9. jq中

    1.jquery位置信息 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  10. java1.8新特性整理(全)

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yitian_66/article/deta ...