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. asp.net web api添加自定义认证

    1.定义认证失败结果生成器 /// <summary> /// 认证失败结果生成器 /// </summary> public class AuthenticationFail ...

  2. win7 无法修改时区和时间

    电脑用的win7系统, 今天调试程序的时候,想改下时间,才发现修改时区的按钮点了没反应,修改时间的按钮是灰色的,没法保存. 在网上搜了一下,想着应该是用的Ghost安装系统的问题,不过也找到了解决办法 ...

  3. android ListView点击item返回后listview滚动位置

    1.Don't work when dynamically loading content Parcelable state; @Override public void onPause() { // ...

  4. mysql 锁优化

    一.myisam存储引擎锁优化 1.合理理由读写优先级MyISAM 的表锁,写互相阻塞的表锁,默认系统是写优先,可改为读有先:low_priority_updates=1如果我们的系统是一个以读为主, ...

  5. C# 并行编程 之 轻量级手动重置事件的使用

    目录(?)[-] 简单介绍 使用超时和取消 跨进程或AppDomain的同步   简单介绍 如果预计操作的等待的时间非常短,可以考虑使用轻量级的手动重置事件,ManualResetEventSlim. ...

  6. app开发遇到问题及解决

    1:ios and Android 差异input type=text 当用户点击input框时,弹出手机键盘,ios会遮挡输入框 解决办法: pswOnFocus = function(){ tar ...

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

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

  8. WinForm应用只运行一次

    一.WinForm应用只能运行一次 static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [ST ...

  9. [ MySql学习心得 ] --Two

    五.MySql 中常用子句 1.where子句 我们都知道在查询数据时,未必会查整个表中的数据,当有条件查询时,就会用到where子句.其结构: select * from  [表名]  where ...

  10. JSTL和EL表达式多重if问题

    俾人以前在写一个查询功能时,由于结果状态分好几种,于是页面就用<c:if></c:if>写了一大堆来判断,后来上网查了下资料,发现有个语法类似于多重if,挺方便的,语法是 &l ...