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. TestFlight 的使用记载

    TestFlight:     TestFlight内测网上很多资料.大概是先打包,然后在App Store Connect 里添加测试员的邮箱地址. Testflight.top:公测要用到test ...

  2. 5、jeecg 笔记之 minidao 条件判断

    1.前言  我们知道 mybatis 中的动态sql语句是基于 OGNL 表达式的.  额外补充一点:mybatis 中的 #{} 和 ${} ,可直接跳过.   #{}表示一个占位符号,#{}接收输 ...

  3. HDU - 6440 Dream 2018中国大学生程序设计竞赛 - 网络选拔赛

    给定的\(p\)是素数,要求给定一个加法运算表和乘法运算表,使\((m+n)^p = m^p +n^p(0 \leq m,n < p)\). 因为给定的p是素数,根据费马小定理得 \((m+n) ...

  4. https://scrapingclub.com/exercise/basic_captcha/

    def parse(self, response): # set_cookies = response.headers.getlist("set-cookie").decode(& ...

  5. 第四篇——Struts2的引入多个配置文件

    引入多个配置文件 在Struts2配置文件中使用include可引入多个配置文件. 项目实例 1.项目结构 2.pom.xml <project xmlns="http://maven ...

  6. 二进制包安装MYSQL——

    yum install libaio -y #安装mysql依赖包tar zxf mysql-5.5.59-linux-glibc2.12-x86_64.tar.gz mv mysql-5.5.59- ...

  7. 基于ROS和python,通过TCP通信协议,完成键盘无线控制移动机器人运动

    一.所需工具包 1.ROS键盘包:teleop_twist_keyboard 2.TCP通讯包:socket $ cd ~/catkin_ws/src $ git clone https://gith ...

  8. 简单代码生成csv文件(excel)

    $arr = array('');// 目标数组 header("Content-Type:application/vnd.ms-excel;charset=gbk"); head ...

  9. Guitar Pro里自动化编辑器有什么用?如何使用?

    我们在使用操作Guitar Pro来进行吉他学习创作时,会遇到下面几个问题.当我们想要改变全部小节或者某一特定小节的拍速时,就会在想,有没有什么简便工具来实现我们的想法呢?告诉大家,Guitar Pr ...

  10. python第一阶段总结(2)

    python3第一阶段的总结 首先申明一下,本人是看网络课程“老男孩”过来写博客的,想把自己学到的东西分享一下.同时给老男孩打个广告,其教学水平真的挺好的.仅据我个人多年的学习评价. 好,接下来是我对 ...