Pandas的数据结构

1、Series

Series是一种类似于一维数组的对象,由下面两个部分组成:

  • index:相关的数据索引标签
  • values:一组数据(ndarray类型)

series的创建方法:

1.直接传入一个列表

s1 = Series([1,2,3,4])
s1
0    1
1 2
2 3
3 4
dtype: int64
查看series对象的属性:
s1.index # 索引
s1.values
还可以带上index参数,表示里这个参数作为索引
s2 = Series(data=[1,2,3,4],index=list('abcd'))

2.用字典的方式去创建

Series({'a':1,'b':2,'c':3})
a 1
b 2
c 3
dtype: int64

series的索引和切片

显式索引:

  • 使用index中的元素作为索引值
  • 使用.loc['索引名'](推荐)
s1 = Series(data=[150,150,150,300],index=list('语数外综'))
s1
语 150
数 150
外 150
综 300
dtype: int64
s1.loc[['语','外']]  # 同一个维度 取多个值 要用中括号括起来
s1.loc[['语','语']]
s1.loc[['综','语']]
s1.loc['语':'外'] # 文字索引 切片 开始位置和结束位置都能取到

s2 = Series(data=[1,2,3,4,5,6],index=list('abcdef'))
  s2

s2.loc['b':'e':2]  # 也可以跳着取 2代表的是step
# s2.loc['e':'b':-1] # 注意 如果想倒着取 前面切片的属性 也得是倒着的

隐式索引:

  • 使用整数作为索引值
  • 使用.iloc[ 索引号 ](推荐)
s2.iloc[0]
# 整数数组形式的索引 通过iloc同样可以使用
s2.iloc[[2,2,2,2,2]]
s2.iloc[[3,2,1,0]] s2.loc['a':'c']
s2.iloc[0:3] # 显示索引 切片的时候是 包括最后一个的 隐式索引 不包括最后一个

series的常用属性和方法

可以把Series看成一个定长的有序字典

可以通过shape,size,index,values等得到series的属性

s2.head()  # 如果不传参数 默认展示头5个内容
s2.tail() # 查看最后的几个

Series中如果值是None,会被转成NaN。并且计算时会被当成0(ndarray不会)
可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull() 函数检测值为None或NaN的数据

另外 series对象有一个name属性可以用来区分不同的series

series的运算

(1) 适用于numpy的数组运算也适用于Series

s2
a 1
b 2
c 3
d 4
e 5
f 6
dtype: int64 #s2+2
s2*2
a 2
b 4
c 6
d 8
e 10
f 12
dtype: int64

(2) Series之间的运算

  • 在运算中自动对齐不同索引的数据
  • 如果索引不对应,则补NaN(值和NaN相加的结果还是NaN,如果想要让NaN的值当作0处理,可以用s1.add(s2,fill_value=0)来处理)
 

pandas的数据结构之series的更多相关文章

  1. pandas 的数据结构(Series, DataFrame)

    Pandas 讲解 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标 ...

  2. Python数据分析之pandas基本数据结构:Series、DataFrame

    1引言 本文总结Pandas中两种常用的数据类型: (1)Series是一种一维的带标签数组对象. (2)DataFrame,二维,Series容器 2 Series数组 2.1 Series数组构成 ...

  3. Pandas的使用(3)---Pandas的数据结构

    Pandas的使用(3) Pandas的数据结构 1.Series 2.DataFrame

  4. Pandas之数据结构

    pandas入门 由于最近公司要求做数据分析,pandas每天必用,只能先跳过numpy的学习,先学习大Pandas库 Pandas是基于Numpy构建的,让以Numpy为中心的应用变得更加简单 pa ...

  5. pandas 的数据结构Series与DataFrame

    pandas中有两个主要的数据结构:Series和DataFrame. [Series] Series是一个一维的类似的数组对象,它包含一个数组数据(任何numpy数据类型)和一个与数组关联的索引. ...

  6. pandas中数据结构-Series

    pandas中数据结构-Series pandas简介 Pandas是一个开源的,BSD许可的Python库,为Python编程语言提供了高性能,易于使用的数据结构和数据分析工具.Python与Pan ...

  7. pandas的数据结构介绍(一)—— Series

    pandas两个主要数据结构之一--Series 类似于一维数组,由一组数据和与其相关的一组索引组成 obj = Series([4, 7, -5, 3], index=['d', 'b', 'a', ...

  8. Pandas 的数据结构

    Pandas的数据结构 导入pandas: 三剑客 from pandas import Series,DataFrame import pandas as pd import numpy as np ...

  9. pandas的数据结构

    要使用pandas,需要熟悉它的两个主要的数据结构,Series和DataFrame. Series series是一种类似于以为数组的对象,它由一组数据(各种numpy的数据类型)以及一组与之相关的 ...

随机推荐

  1. 洛谷P3178 树上操作 [HAOI2015] 树链剖分

    正解:树链剖分+线段树 解题报告: 传送门! 树链剖分+线段树算是基操了趴,,, 就无脑码码码,没有任何含金量,不需要动脑子,然后码量其实也不大,就很爽 比树剖的板子还要板子一些hhhhh 放下代码就 ...

  2. webpack项目搭建

    1.新建一个文件目录,命令行进入当前目录,输入npm init 创建package.json文件 2.安装项目依赖webpack模块: npm install webpack --save-dev 3 ...

  3. Jenkins+Jmeter持续集成笔记(一:环境准备)

    整体思路: 通过Jmeter图形界面编写api测试脚本 ant 批量执行Jmeter脚本文件 将其集成到jenkins,设置执行频率与发送测试报告 运行环境 系统 配置 IP Centos7.1 1核 ...

  4. bootstrap 下拉菜单自动向上向下弹起

    .别人的解决方案 2.别人的解决方案 3.我哒 div class="btn-group" style="margin-top:500px;" > < ...

  5. 将python代码打包成一个app/exe

    前言 打包的代码通常都需要写一个简单的界面,一般用PyQt来写.用PyQt写界面的方法请戳这里:PyQt5的安装及基本配置    PyQt5教程 python提供了几个用来打包的模块,主要有py2ap ...

  6. 使用rander() 将后台的数据传递到前台界面显示出来

    1.创建templates文件夹 2.在该文件夹内创建html界面a.html 3.views.py: def a(request): love='iloveyou' return render(re ...

  7. CentOS 7 搭建Jumpserver跳板机(堡垒机)

    跳板机概述: 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作 跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是 ...

  8. select报错

    query = query.Where(c => c.MfcKey==temp); int hhho = query.Count(); query = from q in query join ...

  9. vue项目中postcss-pxtorem的使用及webpack中的配置 css中单位px和em,rem的区别

    移动手机版要求我们在制作嵌入h5的时候去适配不同的手机.适配有多重模式,有flex.百分比等.字体大小的控制也有px.百分比.rem等单位,webpack中 px转rem. vue项目中postcss ...

  10. Python 进程间数据交互

    进程间通信:进程之间必须需要中间件. 不同进程间内存是不共享的,要想实现两个进程间的数据交换     Queues:实现传输两个进程的数据 线程queue,访问数据只能在一个进程内进行线程与线程之间的 ...