参考链接:http://blog.csdn.net/yhb315279058/article/details/50226027
DataFrame类:
DataFrame有四个重要的属性:
index:行索引。
columns:列索引。
values:值的二维数组。
name:名字。
这个类是Pandas最重要的类之一。
构建方法,DataFrame(sequence),通过序列构建,序列中的每个元素是一个字典。
frame=DateFrame构建完之后,假设frame中有'name','age','addr'三个属性,可以使用fame['name']查看属性列内容,也可以fame.name这样直接查看。
frame按照'属性提取出来的每个列是一个Series类。
DataFrame类可以使用布尔型索引。
groupby(str|array...)函数:可以使用frame中对应属性的str或者和frame行数相同的array作为参数还可以使用一个会返回和frame长度相同list的函数作为参数,如果使用函数做分组参数,这个用做分组的函数传入的参数将会是fame的index,参数个数任意。使用了groupby函数之后配合,size()函数就可以对groupby结果进行统计。

groupby后可以使用:
size():就是count
sum():分组求和
apply(func,axis=0):在分组上单独使用函数func返回frame,不groupby用在DataFrame会默认将func用在每个列上,如果axis=1表示将func用在行上。
reindex(index,column,method):用来重新命名索引,和插值。
size():会返回一个frame,这个frame是groupby后的结果。
sum(n).argsort():如果frame中的值是数字,可以使用sum函数计算frame中摸个属性,各个因子分别求和,并返回一个Series,这个Series可以做为frame.take的参数,拿到frame中对应的行。
pivot_table(操作str1,index=str2,columns=str3,aggfunc=str4)透视图函数:
str1:是给函数str4作为参数的部分。
str2:是返回frame的行名。
str3:是返回frame的列名。
str4:是集合函数名,有'mean','sum'这些,按照str2,str3分组。
使用透视图函数之后,可以使用.sum()这类型函数,使用后会按照index和columns的分组求和。
order_index(by,ascending):
返回一个根据by排序,asceding=True表示升序,False表示降序的frame
concat(list):将一个列表的frame行数加起来。
ix[index]:就是行索引,DataFrame的普通下标是列索引。
take(index):作用和ix差不多,都是查询行,但是ix传入行号,take传入行索引。
unstack():将行信息变成列信息。
apply(func,axis=0)和applymap(func):apply用在DataFrame会默认将func用在每个列上,如果axis=1表示将func用在行上。applymap表示func用在每个元素上。
combine_first(frame2):combine_first会把frame中的空值用frame1中对应位置的数据进行填充。Series方法也有相同的方法。
stack()函数,可以将DataFrame的列转化成行,原来的列索引成为行的层次索引。(stack和unstack方法是两个互逆的方法,可以用来进行Series和DataFrame之间的转换)
duplicated():返回一个布尔型Series,表示各行是否重复。
drop_duplicates():返回一个移除了重复行后的DataFrame
pct_change():Series也有这个函数,这个函数用来计算同colnums两个相邻的数字之间的变化率。
corr():计算相关系数矩阵。
cov():计算协方差系数矩阵。
corrwith(Series|list,axis=0):axis=0时计算frame的每列和参数的相关系数。

Series类:
两个重要的属性:
value:存放series值的一个数组。
index:Series的下标索引。
name:就是Series的名字
index有一个name属性。
可以通过Series(list,index=None)的形式来创建一个Series类,index表示的是用下标访问对应的数据。
也可以直接使用字典创建Series(dict)
value_counts():该方法可以用来统计series类中各因子出现的次数,返回一个带统计结果的series。
fillna(str):给series中的空值赋值。
plot()函数:可以用来给带统计结果的函数画图。但是要配合matplotlib使用
notnull():返回一个判断series位置是否空值的布尔型索引。
sum():如果是数字型Series,可以求和。
cumsum():如果是数字型Series,可以返回一个累加的Series。
searchsorted():在数字Series中定位一个数字的位置,这个数字不完全相同,但接近。
map(func):将Series中的元素,每个都当做func的参数使用一遍,返回执行结果组成的Series
unique():类似于sql中的distinct
isnull()/notnull():返回一个布尔型索引
order():对值进行排序。
order_value():对索引进行排序。
unstack()方法:将Series的层次索引转换成列索引,变成一个DataFrame。
replace():可以用list或dict作为参数,替换需要替换的值
str属性:Series.str后会将Series单做一个字符串的集合,这个集合能够使用字符串的操作,例如:
data=Series(['abc','bcd','cde'])
data.str[1]
输出;
1 b
2 c
3 d

read_table()函数:读dat文件。
import pandas as pd
mnames=['movie_id','title','genres']
movies=pd.read_table(r'C:\Users\Administrator\Desktop\python for
data analysis
data\pydata-book-master\ch02\movielens\movies.dat',sep='::',header=None,names=mnames)

read_csv()函数:可以将frame文件直接读成frame。
movies=pd.read_csv(r'names\job1880.txt',names=column)
read_csv函数有一个sep参数,设置分隔符,可以给这个参数传入正则表达式。
skiprows参数,参数是一个list,表示读取文件的时候,跳过list中的几行,第一行为0

read_excel()函数
可以直接读取excel文件为DataFrame

merge(frame1,frame2):
根据两个frame列的名字自动合并,返回一个frame。
此函数可以通过on,left_on,right_on三个属性来设置怎么frame1和frame2通过什么属性来进行连接。

concat函数:
可以将DataFrame或者Series按照axis的方向堆积起来。

cut函数和qcut函数:
可以将一些离散值分箱,cut函数用的是数值区间将数值分箱,qcut用的是分位数。
cut用在长度相等的桶,qcut用在大小相等的桶。

to_datetime(str):
解析常用的时间格式。

date_range函数:
产生时间序列。

【学习】DataFrame&Series类【pandas】的更多相关文章

  1. pandas数据读取(DataFrame & Series)

    1.pandas数据的读取 pandas需要先读取表格类型的数据,然后进行分析 数据说明 说明 pandas读取方法 csv.tsv.txt 用逗号分割.tab分割的纯文本文件 pd.read_csv ...

  2. 【跟着stackoverflow学Pandas】 - Adding new column to existing DataFrame in Python pandas - Pandas 添加列

    最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ...

  3. Yaf零基础学习总结5-Yaf类的自动加载

    Yaf零基础学习总结5-Yaf类的自动加载 框架的一个重要功能就是类的自动加载了,在第一个demo的时候我们就约定自己的项目的目录结构,框架就基于这个目录结构来自动加载需要的类文件. Yaf在自启动的 ...

  4. JAVAAPI学习之Calendar类;Calendar类set()、add()、roll()方法区别

    JAVAAPI学习之Calendar类 http://blog.csdn.net/myjlvzlp/article/details/8065775(写的很好,清晰易懂) Calendar类set(). ...

  5. java学习一目了然——File类文件处理

    java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) F ...

  6. C++学习之嵌套类和局部类

    C++学习之嵌套类和局部类 局部类 在一个函数体内定义的类称为局部类. 局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关.在定义局部类时需要注意:局部类 ...

  7. C++学习之友元类和友元函数

    C++学习之友元类和友元函数       模板类声明也可以有友元,模板的友元可以分为以下几类:        1.非模板友元:        2.约束模板友元,即就是友元的类型取决于类被实例化的时候的 ...

  8. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  9. Python学习 Part7:类

    Python学习 Part7:类 1. 作用域和命名空间 命名空间(namespace)就是一个从名称到对象的映射. 命名空间的一些实例:内置名称集(函数,像abs(),和内置异常名称),一个模块中的 ...

随机推荐

  1. MySQL免安装版错误解决方案

    在进行mysql zip版本的安装时,遇到如下的错误 一.提示 无法启动此程序,丢失 msvcr140.dll 解决方法 下载Visual C++ Redistributable for Visual ...

  2. latex中使用listings显示代码

    \documentclass[12pt,a4paper]{article}\usepackage{ctex}\usepackage{listings}\usepackage{xcolor}\begin ...

  3. 史上最简单OpenGL+VS2017环境配置

    这里采用 最简单的方法: (1)添加Nuget包管理器(方便我们为项目添加OpenGL的库) (2)新建一个项目 右键我们的项目名 ——> 管理NuGet程序包——>搜索nupengl,然 ...

  4. 新建虚拟机并与XShell连接(配置网卡)

    新建虚拟机并与XShell连接 一.新建虚拟机 下一步 下一步 选择CentOS版本,我的CentOS镜像是6.5版本64位,所以我选择CentOS 6 64. 然后点击下一步 可以自行更改位置,然后 ...

  5. 【EMV L2】DDA标准动态数据认证处理流程

    [标准动态数据认证DDA] 标准动态数据处理过程,除了动态签名由卡片生成以外,其他都是由终端执行的.处理过程: 1.认证中心公钥的获取终端使用认证中心公钥索引(PKI)以及卡片中的注册的应用提供商标识 ...

  6. golang sync.Cond条件变量的使用

    cond.Wait()的操作实际上是对与cond绑定的锁先进行解锁,在等待通知:接收到通知后,会尝试加锁,加锁成功则唤醒否则继续等待通知: cond.Waite()前必须对关连锁加锁,否则panic ...

  7. Arcmap连接数据库需管理员获取许可——创建ArcSDE连接文件

    一.在装有server的服务器上创建ArcSDE连接文件 1.打开ArcMap<<ArcToolBox<<数据管理工具<<工作空间<<创建ArcSDE连 ...

  8. python学习之路08——元组、集合

    一. 元组 1.概念 列表:是一种有序的集合 元组和列表的区别: ​ a.列表:[] 元组:() ​ b.列表中的元素可以进行增加和删除操作,但是,元组中的元素不能进行修改 ​ c.相同点:都是一种容 ...

  9. 产生10个随机数5-9之间 统计一个int类型的一维数组中有多少个在[min,max]之间的数

    * 产生10个随机数5-9之间 统计一个int类型的一维数组中有多少个在[min,max]之间的数 */ import java.util.*; public class Demo{ public s ...

  10. 访问google提示"您的连接不是私密连接"

    直接访问google 提示这个,连subject 也变成连baidu 您的连接不是私密连接 攻击者可能会试图从 www.google.com 窃取您的信息(例如:密码.通讯内容或信用卡信息).了解详情 ...