[读书笔记] Python数据分析 (五) pandas入门
pandas: 基于Numpy构建的数据分析库
pandas数据结构:Series, DataFrame
Series: 带有数据标签的类一维数组对象(也可看成字典)
values, index
缺失数据检测:pd.isnull(), pd.notnull(), Series对象的实例方法
Series对象本身及其索引都有一个name属性,和pandas其他关键功能关系很密切
DataFrame: 表格型数据结构,列和行都有索引
获取DataFrame列:字典标记方式,或者属性方式(frame2['state']/frame2.state)
获取DataFrame行:ix()方法
通过索引方式返回的列只是相应的数据视图,而不是副本,Series的Copy方法可以显示地复制列

DataFrame的index和column也有name属性,可以自己设置
索引对象:pandas索引对象负责管理轴标签和其他元数据,构建Series或者DataFrame时,所用到的任何数组或者其他序列的标签会被转换成一个Index. Index对象是不可以修改(immutable)的.

Index属性

基本功能
重新索引:创建一个适合新索引的对象reindex()

指定丢弃对象:drop()
索引选取和过滤:ix()

算术运算和数据对齐
pandas可以对不同索引对象进行算术运算,对不重叠值自动填充NA
在算术方法中填充值:fill_value
DataFrame和Series之间的运算:broadcast()
默认情况下DataFrame和Series之间的算术运算会将Series的索引匹配到DataFrame列,然后沿着行向下传播;如果想匹配行且在列上广播,必须使用算术运算方法
函数应用和映射
numpy的ufuncs(元素级数组方法),也可以用于操作pandas对象
DataFrame的apply()方法,可以将函数应用到行或者列形成的一维数组
排序和排名
排序:
sort_index() 对行或者列的索引排序(按照字典顺序)
sort_index(by = ) 按照一个或者多个列中值进行排序
Series按值进行排序, order方法
排名:
rank()
带有重复值的轴索引
索引的is_unique()属性可以告诉你它的值是否是唯一的
汇总和计算描述性统计
sum()
mean()
describe()

描述和汇总统计函数

相关系数和协方差
对参数对进行计算得到,Series和DataFrame方法
唯一值,值计数,以及成员资格
唯一值:unique()方法
值计数:value_counts()方法计算一个Series中各个值出现的频率
成员资格:isin, 用于判断矢量化集合的成员资格,可以选取Series或DataFrame列中数据的子集

处理缺失数据

过滤缺失数据:dropna
对于DataFrame对象,dropna默认丢弃任何含有缺失值的行; dropna(how = 'all') 丢弃全为NA那些行.
如果是针对列,传入axis = 1便可
填充缺失数据:fillna
传入常数值:所有na被替换为常数值
传入字典:不同的列填充不同的值
默认返回新的对象,但是也可以就地修改 inplace = TRUE

层次化索引:数据重塑和基于分组的操作(透视表)
stack和unstack
对DataFrame来说,每条轴都可以有分层索引.
根据级别进行汇总:DataFrame和Series的描述和汇总统计都用一个level选项.
使用列作为行索引,将行索引变为DataFrame的列:set_index() 相反reset_index()
[读书笔记] Python数据分析 (五) pandas入门的更多相关文章
- Python数据分析之pandas入门
一.pandas库简介 pandas是一个专门用于数据分析的开源Python库,目前很多使用Python分析数据的专业人员都将pandas作为基础工具来使用.pandas是以Numpy作为基础来设计开 ...
- [读书笔记] Python数据分析 (二) 引言
1. 数据分析的任务:数据读写,数据准备(清洗,修整,规范化,重塑,切片切块,变形),转换,建模计算,呈现(模型/数据) 2. 数据集: bit.ly的1.usa.gov数据:URL缩短服务bit ...
- [读书笔记] Python数据分析 (一) 准备工作
1. python中数据结构:矩阵,数组,数据框,通过关键列相互联系的多个表(SQL主键,外键),时间序列 2. python 解释型语言,程序员时间和CPU时间衡量,高频交易系统 3. 全局解释器锁 ...
- [读书笔记] Python数据分析 (三) IPython
1. 什么是IPython IPyhton 本身没有提供任何的计算或者数据分析功能,在交互式计算和软件开发者两个方面最大化地提高生产力,execute-explore instead of edit- ...
- [读书笔记] Python数据分析 (四) 数组和矢量计算
Numpy:高性能计算和数学分析的基础包 ndarray, 一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对数组数据进行快速运算的标准数学函数 用于读写磁盘数据的工具和用于操作内存 ...
- [读书笔记] Python 数据分析 (十一)经济和金融数据应用
resample: 重采样函数,可以按照时间来提高或者降低采样频率,fill_method可以使用不同的填充方式. pandas.data_range 的freq参数枚举: Alias Descrip ...
- [读书笔记] Python 数据分析 (八)画图和数据可视化
ipython3 --pyplot pyplot: matplotlib 画图的交互使用环境
- [读书笔记] Python 数据分析 (十二)高级NumPy
da array: 一个快速而灵活的同构多维大数据集容器,可以利用这种数组对整块的数据进行一些数学运算 数据指针,系统内存的一部分 数据类型 data type/dtype 指示数据大小的元组 str ...
- Python 数据处理库 pandas 入门教程
Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...
随机推荐
- jq实现瀑布流
静态html代码: <!DOCTYPE html><html> <head> <meta charset="utf-8"> < ...
- Linux学习一:图解CentOS 6.5安装步骤
1 进入安装界面 2 选择语言 3 选择键盘 4 选择存储类型 5 是否格式化硬盘 6 设置主机名 7 配置网卡 (1)选择网卡并编辑 (2)配置IPv4 (3)查看虚拟网络编辑器 NAT设置 DHC ...
- 中国电信线CTF线下选拨writeup
[盟军密码|30分] 二战时盟军截获德军一段密码,密文为:0000011000000000101010110111000011000111100011110001001100111000111001( ...
- java的基本数据类型及运算符等
基本数据类型 一.整数(整形) 值域 1. byte [-128,127] 2.short [-32768,32767] 3.int [-2147483648,2147483647] 4.long [ ...
- jquery-ajax基础-XMLHttpRequest
XMLHttpRequest知识点 原生的ajax代码 var xmlhttp; // 声明一个对象 if (window.XMLHttpRequest) {// code for IE7+, Fir ...
- 排序算法Python(冒泡、选择、快速、插入、希尔、归并排序)
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们通常所说的排序算法往往指的是内部排序算法,即数据 ...
- Java 序列化 和 反序列--by Vincent
序列化: Java 提供了一种把对象序列化的机制. 即把一个对象可以被表示为一个字节序列.然后可以写入文件保存. 字节序列包括: 该对象的数据.有关对象的类型的信息和存储在对象中数据的类型. ...
- iOS_6_ToolBar+xib+红楼梦
终于效果图 BeyondViewController.h // // BeyondViewController.h // 6_ToolBar // // Created by beyond on 14 ...
- Unity特殊目录和脚本编译顺序
特殊目录和脚本编译顺序 大多数情况下,您能够选择不论什么你喜欢的目录在您的项目的名称.但unity储备一些名称以指示内容有一个特殊的用途.这些目录中有些会影响脚本编译的顺序.从根本上说,有四个单 ...
- 【POJ 3904】 Sky Code
[题目链接] http://poj.org/problem?id=3904 [算法] 问题可以转化为求总的四元组个数 - 公约数不为1的四元组个数 总的四元组个数为C(n,4),公约数不为1的四元组个 ...