pandas入门

数据结构

Series

Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据即可产生最简单的Series:

可以通过索引的方式选取Series中的单个或一组值。

运算(根据布尔型数组进行过滤,标量乘法,应用数学函数)。

根据字典创建Series。

NaN(not a number)表示缺失或NA值。

isnull()和notnoll()用于检测缺失数据。

在算术运算中会自动对齐不同索引的数据。

Series对象本身机器索引都有一个name属性。

DataFrame

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔型等)。

其中的参数有columns(指定列序列),index(指定参数)。

frame['xxx']和frame.xxx来获取一个Series。

索引字段ix。

列可以通过赋值的方式进行修改。

嵌套字典

也就是字典的字典

可以进行转置 .T

索引对象

pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换称一个Index:

基本功能

重新索引

pandas对象的一个重要方法是reindex(fill_value=),其作用是创建一个适应新索引的新对象。

mathod选项

丢弃指定轴上的项

drop(索引)方法

索引、选取和过滤

算术运算和数据对齐

对不同的索引对象进行算数运算。在将对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集。

add(xxx,fill_values=0)

广播:我的理解是逐行进行运算处理。

如果要在列上广播,就要使用算术运算方法。

axis=0和1分别的表格的纵轴和横轴。

applymap()和map()

排序

对索引sort_index(ascending=False,by='')

对值order() 缺失np.nan

排名

rank() 参数:method="first"值在原数据中出现的顺序;ascending=False method="max"

带有重复值的轴索引

索引is_unique属性可以显示它的值是否是唯一的。

汇总和计算描述统计

相关系数和协方差

corr() 相关系数

cov()  协方差

corrwith()

唯一值、值计算以及成员资格

unique()

value_counts() 用于计算Series中各值出现的频率

isin()

处理缺失数据

滤除缺失数据

dropna() how='all' 只丢弃全为NaN的那些行,thresh 留下一部分观测数据

data[data.notnull()]

填充缺失数据

fillna()

层次化索引

能使你以低维度形式处理高维度数据。

stack()

unstack()

重排分级顺序

swaplevel()

sortlevel()

根据级别汇总统计

使用DataFrame的列

set_index([],drop=False)

reset_index([])

其他有关pandas的话题

整数索引

面板数据

panel

《利用Python进行数据分析》第5章学习笔记的更多相关文章

  1. 《Think Python》第17章学习笔记

    目录 <Think Python>第17章学习笔记 17.1 面向对象的特性(Object-oriented features) 17.2 打印对象(Printing objects) 1 ...

  2. 《Think Python》第16章学习笔记

    目录 <Think Python>第16章学习笔记 16.1 Time 16.2 纯函数(Pure functions) 16.3 修改器(Modifiers) 16.4 原型 vs. 方 ...

  3. 《Think Python》第15章学习笔记

    目录 <Think Python>第15章学习笔记 15.1 程序员定义的类型(Programmer-defined types) 15.2 属性(Attributes) 15.3 矩形( ...

  4. 《Linux内核设计与实现》课本第五章学习笔记——20135203齐岳

    <Linux内核设计与实现>课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个. 为用户空间提供了硬件的抽象接口. 保 ...

  5. 《Linux内核设计与实现》 第一二章学习笔记

    <Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...

  6. 《Linux内核设计与实现》第四章学习笔记

    <Linux内核设计与实现>第四章学习笔记           ——进程调度 姓名:王玮怡  学号:20135116 一.多任务 1.多任务操作系统的含义 多任务操作系统就是能同时并发地交 ...

  7. 《Linux内核设计与实现》第五章学习笔记

    <Linux内核设计与实现>第五章学习笔记 姓名:王玮怡  学号:20135116 一.与内核通信     在Linux中,系统调用是用户空间访问内核的唯一手段:除异常和陷入外,它们是内核 ...

  8. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

  9. 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...

  10. 学习笔记(一)--->《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.违者本人不负法律责任.违法者自负一切法律责任. ...

随机推荐

  1. NSBundle常用方法及解释

    1.使用类方法创建一个NSBundler对象+ (NSBundle *)mainBundle;eg:[NSBundle mailBundle];2.使用路径获取一个NSBundle 对象,这个路径应该 ...

  2. Windows10

    一.快速开机设置 我的电脑配置如图,装有VS2015 2010 OFFICE等常用开发工具,在线升级后开机速度并没有明显提升. 1.保证windows font cache service服务启动,3 ...

  3. 未添加document.ready产生的BUG

    今天在框架里使用superslide插件时,在javascript部分 <script type="text/javascript"> jQuery(".yj ...

  4. H5学习系列之Communication API

    1 .postMessage API 首先介绍一下什么是iframe? 百度百科里这样写道:IFRAME,HTML标签,作用是文档中的文档,或者浮动的框架(FRAME). 我的理解就是网页中的网页. ...

  5. My安卓知识6--关于把项目从androidstudio工程转成eclipse工程并导成jar包

    是这样,我在我的android项目中想实现zxing也就是二维码的一些功能,但是需要的一个源码工程是androidstudio工程,想把这个工程转成eclipse工程并导成jar包在我的项目中使用. ...

  6. JDK、JRE、JVM三者间的关系

    JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库.Java Runtime Enviro ...

  7. 文件消息的简单样式demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. UVA11149_Power of Matrix

    题目简洁明了,给出矩阵,求前k次方和. 不知道这种方法是叫做二分幂还是倍增法,如果有知道的,请告诉我一下. 具体思想是这样的,A^1+A^2+A^3+......A^n=(E+A^(n/2))*(A^ ...

  9. 简单的dp

    有趣的数:(动态规划,状态转移) #include<stdio.h> ][]; int main() { int n,i; ; i<; i++) dp[i][]=; while(~s ...

  10. ubuntu 下安装boost库

    ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...