panda核心数据结构
Series
Series是一维带标签的数组,数组里可以放任意的数据(整数、浮点数、字符串、python Object)等等
创建函数:
(1)s = pd.Series(data,index=index),其中index是一个列表,用来作为数据的标签,如果不指定索引,pandas自动分配整形的索引
(2)字典创建 s = pd.Series(dict,index = list('abcd')),创建的series对象的索引为字典的key
性质
Series对象的性质:
类ndarray对象
类dict对象
标签对齐操作

结论一:series对象可以直接使用ndarray对象方法


结论二:series对象可以像python字典对象一样操作

结论三:标签对齐,进行操作时,索引自动对应做处理,如果找不到对应值,则为NaN
DateFrame
DateFrame是二维带行标签和列标签的数组,可以把DateFrame想象成一个Excel表格或一个sql数据库的表格,还可以想象成一个series对象字典,它是pandas里最常用的数据结构
创建DateFrame对象
df = pd.DateFrame(data,index = index,columns = columns) 其中index是行标签,columns是列标签,data可以是下面的数据结构:
(1)由一维numpy数组,list,Series构成的字典
(2)二维numpy数组
(3)另外的DateFrame对象
字典方式创建:
(1)Series对象构成的字典方式创建:

(2)列表构成的字典方式创建

注意:由series对象构成的字典,series元素可以不相等,但列表构成的字典,列表元素必须相等,不然会报错
列表创建
(1)列表中元素由元组构成

(2)列表中元素由字典构成

从Series创建DataFrame

注意:series为一维数组,故列索引只能有一列,不然会报错
性质
先创建一个数组

(1)查找


(2)赋值

(3)删除操作

(4)添加

(5)指定删除并获取结果

(6)指定位置插入

(7)assign在原来对象基础上做操作但不会改变原对象数据结构



Panel
Panel是三维带标签的数组,Pancel比较少用,但依然是最重要的基础数据结构之一.
Panel有三个标签:
items:坐标轴 0,索引对应的元素是一个DataFrame
magor_axis:坐标轴1,DataFrame里的行标签
minor_axis:坐标轴 2,DataFrame里的列标签
创建方式:

查看各维度索引

转换为DataFrame对象

panda核心数据结构的更多相关文章
- 【转】Java学习---Java核心数据结构(List,Map,Set)使用技巧与优化
[原文]https://www.toutiao.com/i6594587397101453827/ Java核心数据结构(List,Map,Set)使用技巧与优化 JDK提供了一组主要的数据结构实现, ...
- tensorflow:图(Graph)的核心数据结构与通用函数(Utility function)
Tensorflow一些常用基本概念与函数(2) 1. 图(Graph)的核心数据结构 tf.Graph.__init__:建立一个空图: tf.Graph.as_default():一个将某图设置为 ...
- spark系列-2、Spark 核心数据结构:弹性分布式数据集 RDD
一.RDD(弹性分布式数据集) RDD 是 Spark 最核心的数据结构,RDD(Resilient Distributed Dataset)全称为弹性分布式数据集,是 Spark 对数据的核心抽象, ...
- java核心数据结构总结
JDK提供了一组主要的数据结构的实现,如List.Set.Map等常用结构,这些结构都继承自java.util.collection接口. List接口 List有三种不同的实现,ArrayList和 ...
- Python的核心数据结构
数据结构 例子 数字 1234,3.1415,3+4j 字符串 'spam'."grace's" 列表 [1,[2,'three'],4] 字典 {'food':'spam','t ...
- python核心数据结构之字典
 [TOC ...
- Java核心数据结构(List,Map,Set)原理与使用技巧
JDK提供了一组主要的数据结构实现,如List.Map.Set等常用数据结构.这些数据都继承自 java.util.Collection 接口,并位于 java.util 包内. 1.List接口 最 ...
- linux源码中的核心数据结构
寄存器 pt_regs 进程线程 struct task_struct: 进程,或者是线程数据结构,在include/linux/sched.h里面定义的,与硬件体系结构无关 struct threa ...
- Lucene核心数据结构——FST存词典,跳表存倒排或者roarning bitmap 见另外一个文章
Lucene实现倒排表没有使用bitmap,为了效率,lucene使用了一些策略,具体如下:1. 使用FST保存词典,FST可以实现快速的Seek,这种结构在当查询可以表达成自动机时(PrefixQu ...
随机推荐
- Android Gallery实现3D相册(附效果图+Demo源码)
今天因为要做一个设置开机画面的功能,主要是让用户可以设置自己的开机画面,应用层需要做让用户选择开机画面图片的功能.所以需要做一个简单的图片浏览选择程序.最后选用Gallery作为基本控件.加入了一些炫 ...
- Nginx的upstream目前支持5种分配方式
本文转自:http://mp.weixin.qq.com/s?__biz=MzI4OTU3ODk3NQ==&mid=2247484058&idx=1&sn=f4da816bfa ...
- Go Revel - Jobs(任务调度模块)
revel提供了一个框架用于脱离请求流程的执行异步任务,一般用来执行经常运行的任务.更新缓存数据或发送邮件等. ##启用 该框架作为一个可选的revel模块,默认并不启用.需要更改应用配置来启用它: ...
- 安装 Xshell 5/6 时出现.dll以及0xc000007错误的解决
安装 Xshell 5/6 时出现.dll以及0xc000007错误的解决 问题:缺少 mfc110.dll或者是其他.dll文件以及应用程序运行错误,如下所示. 方法: 一种是网上直接下载.(缺少. ...
- 初试 Kubernetes 集群中使用 Traefik 反向代理
初试 Kubernetes 集群中使用 Traefik 反向代理 2017年11月17日 09:47:20 哎_小羊_168 阅读数:12308 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- ref和引用类型传参的区别
引用类型对象本身不改变,只改变对象的属性时,我们在操作同一个对象:(类似c++指针指向的地址) 如果连对象本身都可能会改变,又要保证在操作同一个对象,就用ref传引用类型的对象吧!(类似c++指向一个 ...
- centos下安装Loadrunner
背景: 网上的资料呀,真是浑水摸鱼的多,有些人直接拷贝别人的帖子,这样有啥意思呢,只会让别人要搜索的时候,更扰乱些! 这里我不写步骤,我用shell把步骤弄了一下,看的懂的看,看不懂的留言吧.就酱,看 ...
- python 简单的server请求
1.代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # __author henry # __date 2018/11/4 from wsgiref ...
- 4G 通信模块在ARM 平台下的应用
收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 4G模块是连接物与物的重要载体,是终端设备接入物联网的核心部件之一,随着4G的普及,许多新兴市场对4G通信模块的需求都在日益扩大,那么在A ...
- lsass 病毒手动清除方法
病毒症状进程里面有2个lsass.exe进程,一个是system的,一个是当前用户名的(该进程为病毒).双击D:盘打不开,只能通过右击选择打开来打开.用kaspersky扫描可以扫描出来,并且可以杀掉 ...