数据分析之pandas入门
一、数据结构
1. Series
1.1 序列构造和调用
Series是一种类似于一维数组的对象,它由一组数据和索引共同组成,可以通过索引的方式来选取Series中的单个或一组值,常用的构造函数为obj2=Series([4,7,-3,3], index=['d','b','a','c'])
对于index而言,默认参数可以不写,可以缺省,若缺省则使用默认的索引从0:N-1
字典<——>Series:可以通过Series函数直接将字典转换成Series(Series(dict))
1.2 自动对齐
Series在计算的过程中能够自动对齐不同索引的数据进行计算。
1.3 属性
index,value,name
通过obj2.index和obj2.value的属性方法进行调用和赋值进行修改,同时可以通过具体的索引值获取数据obj2['a']
对于name属性而言,Series本身以及其索引都具备name属性。obj2.name= 和 obj2.index.name= 进行赋值和调用。
2.DataFrame
2.1 数据构建调用
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以有不同的数值类型,同时具备行索引和列索引。
最常用的构建方法是传入等长数列或者Numpy数组组成的字典:
DataFrame(data,columns,index)通过columns来交换列的顺序,通过index来设置行索引
可以通过frame.state 或者frame['pop']来获取列,列获取类型为Series,同时name存在。
创建新列:为不存在的列赋值,就能创建新的列
删除列:del frame['year']
2.2 赋值及操作
可以多整列操作赋值相同值,如借助frame['pop'] = 1.5。或者借助Series进行赋值操作,这样的赋值将准确匹配DataFrame的索引。
创建新列:为不存在的列赋值,就能创建新的列
删除列:del frame['year']
1.3 属性
index,columns,value,name
通过obj2.index和obj2.value的属性方法进行调用和赋值进行修改,同时可以通过具体的索引值获取数据obj2['a']
对于name属性而言,Series本身以及其索引都具备name属性。frame.columns.name= 和 frame.index.name= 进行赋值和调用。
对于value这一方法而言,能去除行索引和列索引得到一个二维数组。
二、基本功能
1.1 重新索引(重新排序)
对于Series而言,会根据新的索引对原先的顺序安好新的索引进行排序。obj.reindex(['a','b']).
对于reindex可能需要特殊的插值处理,因此利用method可以达到该目的。obj3 = Series([range(6), method='ffill']). 列出了可用的method选项:ffill或pad前向填充值,bfill或backfill后向填充。
1.1 丢弃指定轴上的项
1.drop的操作后原数据并不发生变化。axis =1表示列索引。行索引为axis=1可省略。
索引、选取和过滤
利用标签的切片运算与普通的Python切片运算不同,其末端是包含的。
上述实现是通过切片或者布尔数组进行取行。
data.ix['Colorado',['two','three']]
通过ix进行调用,最后获得一个Series。
数据分析之pandas入门的更多相关文章
- 利用python进行数据分析之pandas入门
转自https://zhuanlan.zhihu.com/p/26100976 目录: 5.1 pandas 的数据结构介绍5.1.1 Series5.1.2 DataFrame5.1.3索引对象5. ...
- Python数据分析之pandas入门
一.pandas库简介 pandas是一个专门用于数据分析的开源Python库,目前很多使用Python分析数据的专业人员都将pandas作为基础工具来使用.pandas是以Numpy作为基础来设计开 ...
- 利用Python进行数据分析——pandas入门
利用Python进行数据分析--pandas入门 基于NumPy建立的 from pandas importSeries,DataFrame,import pandas as pd 一.两种数据结构 ...
- < 利用Python进行数据分析 - 第2版 > 第五章 pandas入门 读书笔记
<利用Python进行数据分析·第2版>第五章 pandas入门--基础对象.操作.规则 python引用.浅拷贝.深拷贝 / 视图.副本 视图=引用 副本=浅拷贝/深拷贝 浅拷贝/深拷贝 ...
- [读书笔记] Python数据分析 (五) pandas入门
pandas: 基于Numpy构建的数据分析库 pandas数据结构:Series, DataFrame Series: 带有数据标签的类一维数组对象(也可看成字典) values, index 缺失 ...
- 利用python进行数据分析--pandas入门2
随书练习,第五章 pandas入门2 # coding: utf-8 # In[1]: from pandas import Series,DataFrame import pandas as pd ...
- 利用python进行数据分析--pandas入门1
随书练习,第五章 pandas入门1 # coding: utf-8 # In[1]: from pandas import Series, DataFrame # In[2]: import pa ...
- Python 数据处理库 pandas 入门教程
Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...
- 向大家介绍我的新书:《基于股票大数据分析的Python入门实战》
我在公司里做了一段时间Python数据分析和机器学习的工作后,就尝试着写一本Python数据分析方面的书.正好去年有段时间股票题材比较火,就在清华出版社夏老师指导下构思了这本书.在这段特殊时期内,夏老 ...
随机推荐
- GitHub使用教程
一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小代码,在公司写了,就要通过U盘或者网盘等等一系列工具进行Copy,然后回家才能继续在原来的基础上作业.Cop ...
- Multiload-ng
导读 Multiload-ng是一个 GTK2 图形化系统监视器应用,可集成到 Xfce.LXDE 及 MATE 的桌面面板中, 它 fork 自原来的 GNOME Multiload 应用.它也可以 ...
- IOS单元测试,OCMock
1.环境搭建 使用官方推荐,手动搭建.. 1.下载所需文件 http://ocmock.org/download/ 根据自己的需要下载不同的版本. 打开iOS library文件夹,里面就有需要用到的 ...
- JS 删除对象属性
updateNode: function(data) { if(data) { this.root[data.id] = data; } }, removeNodes: function(idsArr ...
- No Entity Framework provider found for the ADO.NET provider with invariant
在使用EF的时候,我把EF的EDMX放在单独的一个project中,UI中引用这个project的dll, 运行的时候就是提示No Entity Framework provider found fo ...
- mysql in
2016年4月13日 17:11:19 星期三 摘抄自<高性能mysql> 在很多数据库中, IN() 完全等同于多个 OR 的连结 MySQL的IN 会先将列表中的数据线进行排序, 然后 ...
- ffmpeg-20160926[27]-bin.7z
ffplay 2016.09.26 开始使用 SDL 2.x , CPU 利用率比 SDL 1.x 略微好一些. ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 ...
- 校园网搭建HUSTOJ记录
上学期和网管中心的老师说过很多次--要在校园网上搭OJ,当时那边老师说要等"虚拟化搞好了以后才能搭".直到上周,终于在校园网上申请到了一个虚拟主机,4核,10G内存,100G硬盘, ...
- 【原创】js实现一个可随意拖拽排序的菜单导航栏
1.想做这个效果的原因主要是用在UC上看新闻发现他们的导航菜单很有趣.无聊的时候在哪划着玩了很久.所以就干脆自己写一个.原效果如下 2.整体效果如下,在已推荐和未添加里面每个小方块可以触摸移动位置互换 ...
- 同步异步,阻塞非阻塞 和nginx的IO模型
同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication).所谓同步,就是在发出一个*调用*时,在没有得 ...