各位同学好,今天和大家分享一下Pandas库中Series的基本操作方法。

内容有:①检查缺失值;②通过索引获取数据;③布尔索引;④name属性;⑤读取前几行数据;⑥读取后几行数据


首先我们先定义一个Series

import pandas as pd  #导入pandas库
person = {"name":"阿强","age":21,"class":"一班"}  #定义一个字典person
# 生成一个Series,给它命名s1,以列表中给定的索引顺序排序,其中索引'sex'对应的值为None
s1 = pd.Series(person,["name","age","class","sex"])


(1)检查缺失值

        方法: Series名.isnull()  和  Series名.notnull()

isnull()   判断索引对应的值是否为空,若为空,返回True。语句返回值为Series类型。

notnull() 判断索引对应的值是否为非空,若为空,返回False。

如下图所示,s1中索引'sex'对应的值为nan,因此用isnull()判断后,s2接收返回值,'sex'的返回值是True,其余返回的都是False。并且s2为Series类型。

#(1)检查缺失值
s2 = s1.isnull()   # isnull判断值是否为空,空就返回一个True
s3 = s1.notnull()


(2)通过索引获取数据

        获取索引的方法:Series名.index

        获取值的方法:   Series名.values

#(2)通过索引获取数据
m = s1.index   #获取索引
n = s1.values  #获取值

2.1 获取单个数据

① 通过下标获取        Series名[索引号]  

② 通过标签名获取    Series名[标签名]

s4 = s1[1]   # 通过下标获取数据
s5 = s1["age"]   # 通过标签名获取数据

2.2 获取多个数据

① 通过下标获取       Series名[[索引号1,索引号2]]    #获取索引号1和2对应的数据

② 通过标签名获取    Series名[[标签名1,标签名2]]

# 选取多个数据
s6 = s1[[1,3]]  #获取索引为1行和3行的数据(0,1,2,3)
s7 = s1[["name","age"]]  #获取索引为’name'和'age'行的数据

2.3 切片获取数据

① 通过下标获取        Series名[索引号1:索引号2]      #下标切片顾头不顾尾

② 通过标签名获取    Series名[标签名1:标签名2]      #标签名切片顾头顾尾

# 切片取值
s8 = s1[1:3]   #下标切片顾头不顾尾,获取s1中1、2行数据
s9 = s1["name":"class"]  #标签切片顾头顾尾,获取'name'、'age'、'class'行


(3)布尔索引

        Series名[条件判断]

布尔索引可理解为True和False。

如下,我们定义了一个Series类型数据s10,下式中s10[s10>3]可理解为,s10中索引大于3的值为True,小于等于3的值为False。s10[True]会进行输出,即找到s10中所有大于3的索引和值

import numpy as np
a1 = np.arange(1,6) #从1到5,步长为1,即1、2、3、4、5
s10 = pd.Series(a1,["a","b","c","d","e"])
#数组a1变成Series类型,改变索引名,由原来的0到4变成'a'到'e'
s11 = s10[s10>3]  #取出s10的值大于3的数据


(4)索引与数据的对应关系不被运算结果影响

让Series类型乘以一个数,Series中的索引不会发生改变,但是所有的值都会乘以该数。数值计算会到后续章节再讲,目前不需要掌握。

s12 = s10*2  #使对应数据都*2
#数据values发生变化,对应的索引不变


 (5)name属性

改变对象的名称:        Series名.name = 自定义名称

改变对象的索引名称: Series名.index.name = 自定义名称

如果不喜欢官方默认定义的对象名,可自定义

# name属性
s10.name = "temp"  #对象名
s10.index.name = "year"  #对象索引名


(6)读取前几行数据

        方法: Series名.head()        # 默认读取前5行数据

           Series名.head(n)      # 也可自己指定读取前n行

如果数据量很大,可使用该方法读取前几行先看看

# 读取前几行数据,默认前5行
s13 = s10.head(2)


(7)读取后几行数据

        方法:  Series名.tail()       # 默认读取后5行数据

Series名.tail(n)     # 也可自己指定读取后n行

# 读取后几行数据,默认后5行
s14 = s10.tail(3)


完整代码如下:

#以下代码均可运行
import pandas as pd  #导入pandas库person = {"name":"阿强","age":21,"class":"一班"}  #定义一个字典person
# 生成一个Series,给它命名s1,以列表中给定的索引顺序排序,其中索引'sex'对应的值为None
s1 = pd.Series(person,["name","age","class","sex"]) # Series基本用法#(1)检查缺失值
#==1== Series名.isnull()  Series名.notnull()
# isnull判断是否为空,空就返回一个True
s2 = s1.isnull()
s3 = s1.notnull()#(2)通过索引获取数据
m = s1.index   #获取索引
n = s1.values  #获取值#==1== 通过下标获取数据
s4 = s1[1]#==2== 通过标签名获取数据
s5 = s1["age"]#==3== 选取多个
s6 = s1[[1,3]]  #获取索引为1行和3行的数据(0,1,2,3)
s7 = s1[["name","age"]]  #获取索引为’name'和'age'行的数据#==4== 切片取值
s8 = s1[1:3]   #下标切片顾头不顾尾,获取s1中1、2行数据
s9 = s1["name":"class"]  #标签切片顾头顾尾,获取'name'、'age'、'class'行#(3)布尔索引
import numpy as np
a1 = np.arange(1,6) #从1到5,步长为1,即1、2、3、4、5
s10 = pd.Series(a1,["a","b","c","d","e"])
#数组a1变成Series类型,改变索引名,由原来的0到4变成'a'到'e's11 = s10[s10>3]  #取出s10的值大于3的数据#(4)索引与数据的对应关系不被运算结果影响
s12 = s10*2  #使对应数据都*2
#数据values发生变化,对应的索引不变#(5)name属性
print(s10)
s10.name = "temp"  #对象名
s10.index.name = "year"  #对象索引名
print(s10)#(6) Series名.head(n)
# 读取前几行数据,默认前5行
s13 = s10.head(2)#(7) Series名.tail(n)
# 读取后几行数据,默认后5行
s14 = s10.tail(3)

【Pandas库】(2) Series的基本操作方法相关推荐

  1. python——pandas库之Series数据结构基础

    文章目录 pandas之Series 1.Series简介 2.Series属性 3.数学运算 4.缺失值检测 6.Series自动对齐索引 7.name属性 pandas之Series 1.Seri ...

  2. 【Pandas库】(1) Series的创建方法

    各位同学大家好,今天和大家分享一下Pandas库中Series的创建方法. 文章主要介绍了使用 列表.数组.字典 三种方法创建Series. 介绍了 如何查看Series索引和值.如何让使用字典生成的 ...

  3. Pandas库(1):DataFrame类

    Pandas库围绕Series类型和DataFrame类型这两种数据结构,提供了一种高效便捷的数据处理方式. 一.DataFrame类概述 1.Series是pandas库的一维数据类型,DateFr ...

  4. Python之Pandas库常用函数大全(含注释)

    前言:本博文摘抄自中国慕课大学上的课程<Python数据分析与展示>,推荐刚入门的同学去学习,这是非常好的入门视频. 继续一个新的库,Pandas库.Pandas库围绕Series类型和D ...

  5. Pandas库入门详细教程

    Pandas库的介绍 1.Pandas是Python第三方库,提供高性能易用数据类型和分析工具. 2.Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用. 3.Pandas库 ...

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

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

  7. pandas库随笔——更改Series与DataFrame的列标签

    我们要对Series和DataFrame的列标签进行修改,通常是使用rename函数,还有一种方法就是使用暴力修改法,下面分别针对两种方法进行代码演示以及进行说明. 首先我们先载入pandas库并且生 ...

  8. python dataframe 列_python pandas库中DataFrame对行和列的操作实例讲解

    用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFram ...

  9. Pandas库常用函数和操作

    目录 1. DataFrame 处理缺失值  dropna() 2. 根据某维度计算重复的行   duplicated().value_counts() 3. 去重  drop_duplicates( ...

最新文章

  1. Hotpatch潜在的安全风险
  2. Activity的启动模式与flag详解
  3. ux和ui_阅读10个UI / UX设计系统所获得的经验教训
  4. c++ using 前置声明_详解C++ 前置声明
  5. Jquery实现定时器实例
  6. Android开发笔记(一百七十九)避免方法数过多的问题
  7. 国外资源下载速度太慢怎么办
  8. 禁用vsftpd欢迎语
  9. 腾讯云dts使用注意事项
  10. 易灵思FPGA--PLL资源
  11. php 会议室预定系统,MRBS开源会议室预订系统安装
  12. 简单使用Easy Touch5摇杆控制物体移动
  13. vscode 添加版权信息
  14. javaScript常用案例
  15. spark初始:spark腾讯雅虎优酷成功应用解析
  16. 2021-2027全球与中国零售空间规划软件市场现状及未来发展趋势
  17. 计算2015年4月6日是一年中的第几星期
  18. altium designer 快捷键
  19. Python破解pdf打开密码
  20. PHP7+MySql开发的视频点播程序,知识付费系统

热门文章

  1. svn 第一次使用注意事项
  2. GridView使用的技巧
  3. node.js实现国标GB28181流媒体点播(即实时预览)服务解决方案
  4. Go 学习笔记(20)— Go 操作 json 文件(编码生成 json、解码 json 为 map、解码 json 为 struct)
  5. FreeMarker中的list集合前后台代码
  6. 学习笔记-express路径问题
  7. 20150411--Dede二次开发-01
  8. IOSUIcontrol事件
  9. 菜鸟初涉SQL Server的总结
  10. poj2965-poj2965-The Pilots Brothers' refrigerator