文章目录

  • Series
    • 一、导入Series
    • 二、创建Series
      • 1、使用列表或者numpy进行创建,默认索引为0到N-1的整数型索引
      • 2、使用字典创建(推荐使用)
    • 三、Series的索引和切片
      • 1、显式索引与切片
      • 2、隐式索引与切片
    • 四、Series的基本概念
      • 1、通过head(),tail()快速查看Series对象的样式
      • 2、isnull(),notnull()函数检测缺失数据
      • 3、扩展
    • 四、Series的运算
      • 1、 适用于numpy的数组运算也适用于Series
      • 2、Series之间的运算
        • 扩展

Series

Series是线性的数据结构,带有标签的一维数组,轴标签统称为索引,数据和标签之间存在联系

一、导入Series

from pandas import Series
如果没有安装pandas的话,使用pip install pandas 进行导入

二、创建Series

1、使用列表或者numpy进行创建,默认索引为0到N-1的整数型索引

方法1:

a = Series([list], index=[list])

备注:
      index: 设置Series的index,index列表的元素个数跟数据list的元素个数要对应起来
示例:
      没有index的话,默认index为0到N-1的整数型索引

obj = Series([1,2,3,4])
obj

自定义 index:

obj2 = Series([1,2,3,4],index=[‘a’,‘b’,‘c’,‘d’])
obj2

numpy创建跟list创建是相同的道理

2、使用字典创建(推荐使用)

创建方法为:

a = Series({Dict})

示例:

obj = Series({‘a’:1,‘b’:2, ‘c’:3, ‘d’:4})
obj

总结: 比较推荐使用方法2,是因为方法2中没有对应index(index中的元素个数要跟数据个数相同)的限制,这样方法2就会比较自由

创建成功之后,下一步就是取值,Series可通过索引和切片的方法进行取值

三、Series的索引和切片

索引是为了获取具体的值,而切片则是为了获取一定范围内的值

1、显式索引与切片

显式索引

s.loc[‘索引名称’]         使用index中元素的名称作为索引值

示例
取单个值:

obj = Series({‘a’:10,‘b’:12,‘c’:17})
obj.loc[‘a’]      # 也可省略loc,即obj.loc[‘a’]


取多个值:

obj.loc[[‘a’,‘c’]]      # 或 obj[[‘a’,‘c’]]


显式切片:

obj = Series({‘a’:10,‘b’:12,‘c’:17})
obj[‘a’:‘c’]         # 或 obj[‘a’:‘c’]

2、隐式索引与切片

隐式索引

s.iloc[]        使用index中元素对应的下标作为索引值

示例:
取单个值:

obj = Series({‘a’:10,‘b’:12,‘c’:17})
obj.iloc[0]      # 或 obj[0]


取多个值:

obj.iloc[[0, 1]]      # 或 obj[[0, 1]]

隐式切片:

obj = Series({‘a’:10,‘b’:12,‘c’:17})
obj.iloc[0:2]      # 或 obj[0:2]

学了这个显式和隐式的操作,可能大家有一些迷糊,那么进行一下总结:

  1. 显式索引就是通过索引值获取对应索引的结果(loc可省略)
    隐式索引就是通过索引的下标获取对应索引的结果(.loc可省略)
  2. 切片和取多个值的格式要注意区分:

    切片的格式为: [:]               即 一个[], 中间的为冒号,相当于list中的切片
    取多值的格式为:[[,]]          即 两个[], 中间的分隔为逗号

  3. 注意切片操作中,显式索引和隐式索引的区别

    显式索引是通过索引值获取索引的结果,两边索引值对应的值都能取到                                                                                                             左闭右闭
    隐式索引为通过索引的下标获取的结果,只能取到左边索引下标对应的值,右边索引下标对应的值取不到,同python中的list切片                 左闭右开

  4. 其实在Series中,有没有loc或者iloc好像没什么区别,但这并不说明loc和iloc就没有用,个人觉得它更有意义的是在DataFrame当中使用,而且,知道loc和iloc能阅读明白他人的代码,避免见到后不认识

四、Series的基本概念

1、通过head(),tail()快速查看Series对象的样式

1)先创建个测试数据

s = pd.Series(np.random.randint(1,10,size=(10,)))

2)获取数据的前五行数据

s.head() # 默认是前五行数据,可自定义行数,比如想要十行的话,s.head(10)


tail()是展示数据的后五行,也可自定义行数, 例如:s.tail(10) 即 展示数据的后10行

2、isnull(),notnull()函数检测缺失数据

缺失数据在Series中一般表示为: NaN(not a number)
1)创建测试数据

obj = Series([10,4,np.nan])

2)使用notnull()查看空值,为空则返回Flase,不为空则返回True

notnull = pd.notnull(obj)

3)根据isnull()返回的结果,取不为空的数据

obj[notnull]


isnull()跟notnull()的用法相同,只不过是,isnull()为空返回True,notnull()为空返回False

3、扩展

可以把Series看成一个定长的有序字典
可以通过shape,size,index,values等得到series的属性

四、Series的运算

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

这个需要仔细了解numpy的运算才行,这个就不扩展了,大家有兴趣的话,可上网上搜索下相关知识点

2、Series之间的运算

首先说下Series之间常用的运算:

add加 sub减 mul乘 div除

1)相同索引的数据进行运算, 如果索引不对应,则补NaN
①:测试数据

A = pd.Series([2,4,6],index=[0,1,2])
B = pd.Series([1,3,5],index=[1,2,3])
display(A,B)

②: 加运算

A.add(B)

在A和B数据中,index(索引)中的1、2是相同的,所以对应索引的数据进行运算,而其他索引对应不上的则没有相加的数值,所以值只能为NaN

扩展

出现NaN的原因是,两个Series中,索引相关的只对应不上,但我现在不想让这些对应不上的为NaN,那么有什么办法解决这个问题呢?

fill_value: 对空值赋值

A.add(B,fill_value=0)

fill_value的值为0时,则是,将索引不对应的补充为0,
如果自定义为,ill_value的值为1,则,将索引不对应的补充为1

数据分析:Pandas之Series用法总结相关推荐

  1. Python数据分析pandas之series初识

    Python数据分析pandas之series初识 声明与简介 pandas是一个基于python的.快速的.高效.灵活.易用的开源的数据处理.分析包(工具)..pandas构建在numpy之上,它通 ...

  2. python pandas series_Python数据分析-pandas之Series

    pandas是基于NumPy的一种工具,提供了快速便捷地处理结构化数据的大量数据结构和函数.使用最多的pandas对象主要是Series(一组数据及相应的索引标签)和DataFrame (二维表结构) ...

  3. Python 数据分析三剑客之 Pandas(一):认识 Pandas 及其 Series、DataFrame 对象

    CSDN 课程推荐:<迈向数据科学家:带你玩转Python数据分析>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python ...

  4. python 数据分析模块_Python数据分析pandas模块用法实例详解

    本文实例讲述了Python数据分析pandas模块用法.分享给大家供大家参考,具体如下: pandas pandas10分钟入门,可以查看官网:10 minutes to pandas 也可以查看更复 ...

  5. dataframe python格式_python3.6 pandas,Series和DataFrame基础格式与用法,附代码实例

    pandas 是基于numpy构建的库,加上numpy,主要用于科学运算和数据处理. 也是一个让我忘记昂贵的MATLAB,并且不得不复习SQL的库.. 一般引入规定: In [105]: from p ...

  6. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主

    利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目 ...

  7. pandas库Series使用和ix、loc、iloc基础用法

    1. pandas库Series基础用法: 直接贴出用例: 1. 构造/初始化Series的3种方法: (1)用列表list构建Series import pandas as pd my_list=[ ...

  8. python pandas模块_Python3.5 Pandas模块中Series用法详解

    Python3.5 Pandas模块中Series用法实例 本文实例讲述了Python3.5 Pandas模块之Series用法.分享给大家供大家参考,具体如下: 1.Pandas模块引入与基本数据结 ...

  9. python pandas 分类汇总用法_python数据分析之pandas常用命令整理

    原标题:python数据分析之pandas常用命令整理 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型 ,提供了高效地 ...

最新文章

  1. 新的 FreeBSD 核心团队选举结果出炉
  2. RedHat Enterprise Linux 5 安装GCC过程
  3. 线程池参数详解_java中常见的六种线程池详解
  4. fir fpga 不同截止频率_一种新的FIR滤波器系数量化方法
  5. android 名片识别 简书,iOS 自己实现 名片识别 三 图片处理
  6. 通过Mybatis获取mysql表中重复记录的方法
  7. 《菜菜的机器学习sklearn课堂》学习笔记 + 课件
  8. Android异常总结---3.Failed to install *.apk on device 'emulator-5554': timeout 错误提示:
  9. linux ubuntu apache php 网站 'page not found'
  10. C++中的L和_T()
  11. C# 组成结构、数据类型、运算符 以及 基本语法练习
  12. c++ const 修饰变量位置含义
  13. python爬取酷狗音乐_python 爬虫 爬取酷狗音乐
  14. html -----硬回车和软回车
  15. (Python3) Numeric (数字)类型
  16. 动力工程及工程热物理推免真题(凭个人记忆整理)
  17. epoll与reactor模式
  18. 贪心算法(Greedy)
  19. google在线翻译二
  20. matlab 海面反射,海面波浪模拟 MATLAB

热门文章

  1. 背景为图片的按钮css实现按钮背景图置灰
  2. Login with Vimeo in iOS App using oAuth tutorial
  3. 织梦调用栏目名称的五个方法
  4. SQLite DBRecovery 恢复引擎实现微信等一些手机聊天工具删除记录的快速恢复
  5. Datawhale零基础入门NLP赛事 - Task5 基于深度学习的文本分类2
  6. 《黄帝内经.上古天真论》养生秘诀节选-1
  7. 使用Matplotlib简单绘图
  8. 详述 Java NIO 以及 Socket 处理粘包和断包方法
  9. HTML+CSS制作家乡旅游网页(杭州旅游网页设计dw制作)
  10. matlab 线性系统响应,MATLAB线性系统时域响应分析实验