【学习】DataFrame&Series类【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结果进行统计。
|
|
| 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(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文件。
data analysis
data\pydata-book-master\ch02\movielens\movies.dat',sep='::',header=None,names=mnames)
read_csv()函数:可以将frame文件直接读成frame。
concat函数:
cut函数和qcut函数:
to_datetime(str):
date_range函数:
【学习】DataFrame&Series类【pandas】的更多相关文章
- pandas数据读取(DataFrame & Series)
1.pandas数据的读取 pandas需要先读取表格类型的数据,然后进行分析 数据说明 说明 pandas读取方法 csv.tsv.txt 用逗号分割.tab分割的纯文本文件 pd.read_csv ...
- 【跟着stackoverflow学Pandas】 - Adding new column to existing DataFrame in Python pandas - Pandas 添加列
最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ...
- Yaf零基础学习总结5-Yaf类的自动加载
Yaf零基础学习总结5-Yaf类的自动加载 框架的一个重要功能就是类的自动加载了,在第一个demo的时候我们就约定自己的项目的目录结构,框架就基于这个目录结构来自动加载需要的类文件. Yaf在自启动的 ...
- JAVAAPI学习之Calendar类;Calendar类set()、add()、roll()方法区别
JAVAAPI学习之Calendar类 http://blog.csdn.net/myjlvzlp/article/details/8065775(写的很好,清晰易懂) Calendar类set(). ...
- java学习一目了然——File类文件处理
java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) F ...
- C++学习之嵌套类和局部类
C++学习之嵌套类和局部类 局部类 在一个函数体内定义的类称为局部类. 局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关.在定义局部类时需要注意:局部类 ...
- C++学习之友元类和友元函数
C++学习之友元类和友元函数 模板类声明也可以有友元,模板的友元可以分为以下几类: 1.非模板友元: 2.约束模板友元,即就是友元的类型取决于类被实例化的时候的 ...
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Python学习 Part7:类
Python学习 Part7:类 1. 作用域和命名空间 命名空间(namespace)就是一个从名称到对象的映射. 命名空间的一些实例:内置名称集(函数,像abs(),和内置异常名称),一个模块中的 ...
随机推荐
- 指导手册01:安装Hadoop
指导手册01:安装Hadoop Part 1:安装及配置虚拟机 1.安装Linux. (1)打开VMvirtualBox (2) 控制->新建虚拟机,输入虚拟机名称“marst+学号” 类型: ...
- vue,在模块中动态添加dom节点,并监听
在这里,onclick事件没有作用,因为它指向的是window,如果写为this.click页面显示为undefined, 我采用的是通过class绑定事件,但是会有一个问题,那就是当你渲染多个事件时 ...
- VC++、MFC Sqlite3数据库的使用
SQLite数据库是一种本地的轻型数据库,在存储一些本地的数据的时候,或者不需要用到Oracle,SQL2008之类的大型数据库的时候,Sqlite的优势就能够得到发挥.程序需要采集数据存储起来,可以 ...
- 剑指Offer 21. 栈的压入、弹出序列 (栈)
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...
- mysql数据库的基本操作命令整理
快捷键 ctrl+l 清屏 ctrl +a 回到行首 ctrl + e 回到行末 数据库操作 进入数据库 方式1 mysql -u用户名 -p 密码 --------直接输入密码,缺点,会暴露自己 ...
- PyCharm介绍与基础操作
PyCharm是一种Python IDE(集成开发软件),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具. 1.1 PyCharm主界面 PyCharm包含4个主要区分,分别为菜单 ...
- 算法笔记1 - 编辑距离及其动态规划算法(Java代码)
转载请标注原链接:http://www.cnblogs.com/xczyd/p/3808035.html 编辑距离概念描述 编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个 ...
- CodeForces - 660D:Number of Parallelograms (问N个点多少个平行四边形)
pro:给定N个点,问多少个点组成了平行四边形.保证没有三点共线. sol:由于没有三点贡献,所以我们枚举对角线,对角线的中点重合的就是平行四边形.如果没说保证三点不共线就不能这么做,因为有可能4个点 ...
- Python全栈之路----编程基本情况介绍
1.多种编程语言的区别 (1)C\C++:学习成本高,学习周期长,偏系统底层,在开发硬件驱动.嵌入式.游戏引擎开发等领域有广泛应用. (2)JAVA:目前使用最广泛的编程语言,第一个跨平台运行的语言, ...
- A Statistical Model for Scientific Readability-paper
Authors: Luo SiCarnegie Mellon University, Pittsburgh, PA Jamie CallanCarnegie Mellon University, Pi ...