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. trailhead学习之 LWC for Aura Developers

    本篇查看https://trailhead.salesforce.com/content/learn/modules/lightning-web-components-for-aura-develop ...

  2. JVM底层原理及调优之笔记一

    JVM底层原理及调优 1.java虚拟机内存模型(JVM内存模型) 1.堆(-Xms -Xmx -Xmn) java堆,也称为GC堆,是JVM中所管理的内存中最大的一块内存区域,是线程共享的,在JVM ...

  3. python网络编程-2

    1.理解相关概念 #浅显理解下 对比cpu与io的差距如:io从硬盘读取一条数据9ms ,cpu在9ms可以做450万次指令 cpu切换上下文的方式:1.遇到io操作切换cpu 2.cpu时间片分配 ...

  4. Telegram Android源码问题汇总 持续更新

    libtgvoip目录为空 git clone下来的工程中带有submodule时,submodule的内容没有下载下来,执行如下命令 cd Telegram git submodule update ...

  5. 变量、数据类型、python内存管理

    pycharm快捷键 ctrl + c 复制, 默认复制整行 ctrl + v 粘贴 ctrl + x 剪切 ctrl + a 全选 ctrl + z 撤销 ctrl + f 查找 ctrl + sh ...

  6. odoo10学习笔记五:高级视图

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189279.html 树视图 tree视图表现出来是列表视图,列表中一行一纪录.可以根据每行纪录的某字段值 ...

  7. SDL2学习(二):常用枚举值和函数

    1. 高频枚举值或结构体 1.1 SDL_WindowFlags /** * \brief The flags on a window * * \sa SDL_GetWindowFlags() */ ...

  8. JS高阶---执行上下文栈

    大纲: 主体: 注意:*******函数调用时才会产生上下文栈,声明时不会产生********** 顺序: 概念图: 执行上下文栈的顺序---→后进先出 其他概念图: 当前执行的上下文总是在顶部 全局 ...

  9. 莫烦TensorFlow_06 plot可视化

    import tensorflow as tf import numpy as np import matplotlib.pyplot as plt def add_layer(inputs, in_ ...

  10. Vue小练习(for循环,push方法,冒泡,if判断(以及与for循环的连用),按钮高亮,根据input框筛选数据)

    vue练习 ''' 1. 先有一下成绩单数据 scores = [ { name: 'Bob', math: 97, chinese: 89, english: 67 }, { name: 'Tom' ...