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 ...
随机推荐
- Java知多少(60)isAlive()和join()的使用
如前所述,通常你希望主线程最后结束.在前面的例子中,这点是通过在main()中调用sleep()来实现的,经过足够长时间的延迟以确保所有子线程都先于主线程结束.然而,这不是一个令人满意的解决方法,它也 ...
- Yii2中的composer
1.下載composer 2.composer 插件或組件 3.有三處修改 a.composer require 的插件在vender下 b.同時vender下的composer文件修改 c.comp ...
- [Laravel] 15 - REST API: sidebar with unit test
前言 实现一个博客的侧边栏的链接,然后顺便对其进行单元测试的过程. Archives 一.视图中展示SQL结果 一条 sql 语句[查询] select year(created_at) year, ...
- SpringBoot------MockMvc单元测试
1.添加测试依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...
- Windows-NTFS-ADS在渗透测试中的利用
0.什么是ADS Windows:微软公司的一款视窗操作系统,其内核为WindowsNT. NTFS:WindowsNT环境的限制级专用文件系统. ADS:NTFS的系统特性,交换数据流(Altern ...
- 正则表达式中,[\s\S]* 什么意思
https://blog.csdn.net/haoyuedangkong_fei/article/details/53781936 例如:[a-z]表示从a到z之间的任意一个. 不是这样的吗?谁能给我 ...
- IOS Https适配摸索
转:http://www.jianshu.com/p/f312a84a944c https封面 在WWDC 2016开发者大会上,苹果宣布了一个最后期限:到2017年1月1日 App Store中的所 ...
- 企业应用打包的时候 修改ipa包的bundle identifier
1.将ipa包后缀改为.zip,解压,之后打开包文件,找到info.plist文件后,修改相应的项就可以了.把修改后的文件重新压缩成zip,把zip改为ipa,替代原来的ipa,就可以了. 解决这个问 ...
- Django之Web框架本质及第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- js将图片转换为base64
直接上代码: var img = "imgurl";//imgurl 就是你的图片路径 function getBase64Image(img) { var canvas = do ...