目录

Series结构

创建Series对象

访问Series数据

Series常用属性

Series常用方法

Series结构

Series 结构,也称 Series 序列,是 Pandas 常用的数据结构之一,它是一种类似于一维数组的结构,由一组数据值(value)和一组标签组成,其中标签与数据值之间是一一对应的关系。

Series 可以保存任何数据类型,比如整数、字符串、浮点数、Python 对象等,它的标签默认为整数,从 0 开始依次递增。Series 的结构图,如下所示:

通过标签我们可以更加直观地查看数据所在的索引位置。

创建Series对象

Pandas 使用 Series()  函数来创建 Series 对象,通过这个对象可以调用相应的方法和属性,从而达到处理数据的目的:

  1. import pandas as pd
  2. s=pd.Series( data, index, dtype, copy)

参数说明如下所示:

参数名称 描述
data 输入的数据,可以是列表、常量、ndarray 数组等。
index 索引值必须是惟一的,如果没有传递索引,则默认为 np.arrange(n)。
dtype dtype表示数据类型,如果没有提供,则会自动判断得出。
copy 表示对 data 进行拷贝,默认为 False。

可以使用数组、字典、标量值或者 Python 对象来创建 Series 对象。下面展示了创建 Series 对象的不同方法:

1) 创建一个空Series对象

import pandas as pd
#输出数据为空
s = pd.Series()
print(s)输出结果如下:
Series([], dtype: float64)

2) ndarray创建Series对象

ndarray 是 NumPy 中的数组类型,当 data 是 ndarry 时,传递的索引必须具有与数组相同的长度。假如没有给 index 参数传参,在默认情况下,索引值将使用是 range(n) 生成,其中 n 代表数组长度,如下所示:

import pandas as pd
import numpy as np# 使用默认索引,创建 Series 序列对象,这种设置方式被称为“隐式索引”。
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print (s)输出结果如下:
0   a
1   b
2   c
3   d
dtype: object# 可以使用“显式索引”的方法定义索引标签,自定义索引标签(即显示索引)
s = pd.Series(data,index=[100,101,102,103])
print(s)
输出结果:100  a
101  b
102  c
103  d
dtype: object

3) dict创建Series对象

您可以把 dict 作为输入数据。如果没有传入索引时会按照字典的键来构造索引;反之,当传递了索引时需要将索引标签与字典中的值一一对应。

下面两组示例分别对上述两种情况做了演示。

import pandas as pd
import numpy as np# 示例1,没有传递索引时:
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print(s)
输出结果:a 0.0
b 1.0
c 2.0
dtype: float64# 示例 2,为index参数传递索引时:
s = pd.Series(data,index=['b','c','d','a'])
print(s)
输出结果:b 1.0
c 2.0
d NaN               # 当传递的索引值无法找到与其对应的值时,使用 NaN(非数字)填充。
a 0.0
dtype: float64

4) 标量创建Series对象

# 如果 data 是标量值,则必须提供索引,示例如下:import pandas as pd
import numpy as np
s = pd.Series(5, index=[0, 1, 2, 3])print(s)
输出如下:
0  5
1  5
2  5
3  5
dtype: int64

标量值按照 index 的数量进行重复,并与其一一对应。

访问Series数据

上述讲解了创建 Series 对象的多种方式,那么我们应该如何访问 Series 序列中元素呢?分为两种方式,一种是位置索引访问;另一种是索引标签访问。

1) 位置索引访问

这种访问方式与 ndarray 和 list 相同,使用元素自身的下标进行访问。我们知道数组的索引计数从 0 开始,这表示第一个元素存储在第 0 个索引位置上,以此类推,就可以获得 Series 序列中的每个元素。下面看一组简单的示例:

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])# 通过位置和标签下标访问
print(s[0]) #位置下标
print(s['a']) #标签下标
输出结果:
1
1# 使用索引标签访问多个元素值
print(s[['a','c','d']])
输出结果:
a    1
c    3
d    4
dtype: int64# 通过切片的方式访问 Series 序列中的数据,示例如下:
print(s[:3])
输出结果:
a  1
b  2
c  3
dtype: int64

Series常用属性

下面介绍 Series 的常用属性和方法。在下表列出了 Series 对象的常用属性。

名称 属性
axes 以列表的形式返回所有行索引标签。
dtype 返回对象的数据类型。
empty 返回一个空的 Series 对象。
ndim 返回输入数据的维数。
size 返回输入数据的元素数量。
values 以 ndarray 的形式返回 Series 对象。
index 返回一个RangeIndex对象,用来描述索引的取值范围。

示例如下:

import pandas as pd
import numpy as np
s = pd.Series(np.random.randn(5))# axes
print(s.axes)
[RangeIndex(start=0, stop=5, step=1)]# dtype
print(s.dtype)
float64# empty
print(s.empty)
False# ndim
print(s.ndim)
1                  # 因为其为一维数组,其始终返回1# size
print(s.size)
5# values
print(s.values)
[-0.50210028  0.69619407 -0.98206327  0.41642976 -1.38451433]# index
print(s.index)
RangeIndex(start=0, stop=5, step=1)  # 隐式索引

Series常用方法

1) head()&tail()查看数据

如果想要查看 Series 的某一部分数据,可以使用 head() 或者 tail() 方法。其中 head() 返回前 n 行数据,默认显示前 5 行数据。

import pandas as pd
import numpy as np
s = pd.Series(np.random.randn(5))#返回前三行数据
print(s.head(3))
head(3)输出:
dtype: float64
0    1.249679
1    0.636487
2   -0.987621
dtype: float64# tail() 返回的是后 n 行数据,默认为后 5 行,输出后两行数据
print (s.tail(2))
输出后两行数据:
dtype: float64
2   -0.719175
3   -0.035178
dtype: float64

2) isnull()&nonull()检测缺失值

isnull() 和 nonull() 用于检测 Series 中的缺失值。所谓缺失值,顾名思义就是值不存在、丢失、缺少。

  • isnull():如果为值不存在或者缺失,则返回 True。
  • notnull():如果值不存在或者缺失,则返回 False。

针对数据丢失的现象,可以使用相应的方法对缺失值进行处理,比如均值插值、数据补齐等方法。上述两个方法可以检测是否存在缺失值。示例如下:

import pandas as pd
#None代表缺失数据
s=pd.Series([1,2,5,None])print(pd.isnull(s)) #是空值返回True
输出结果:
0    False
1    False
2    False
3     True
dtype: boolprint(pd.notnull(s)) #空值返回False
notnull():
0     True
1     True
2     True
3    False
dtype: bool

Pandas(一)--Series结构相关推荐

  1. Pandas中Series结构的切片详解以及常用技巧

    Series的切片:(1)Series使用标签切片运算与普通的Python切片运算不同:Series使用标签切片时,其末端是包含的 (2)Series使用Python切片运算即使用位置数值切片,其末端 ...

  2. pandas学习之Series结构

    #!/usr/bin/env python # -*- coding:utf-8 -*- """ 系列(值的集合) DataFrame数据包(系列对象的集合) panel ...

  3. python使用pandas模块介绍以及使用,dataframe结构,Series结构,基本数据操作,DataFrame运算,pandas画图,存储,缺失值处理,离散化,合并

    目录 1 pandas介绍 1.1 Pandas介绍 1.2 为什么使用Pandas 1.3 案例:在numpy当中创建的股票涨跌幅数据形式 1.4 DataFrame 1.4.1 DataFrame ...

  4. 【DS with Python】 Pandas中Series DataFrame的结构、创建、查询、修改语法与实例

    文章目录 前言 一.Series结构与应用 1.1 Series的构造 1.2 创建Series 1.2.1 可用于创建Series的类型 1.2.2 三种设置index的方法 1.2.3 Serie ...

  5. 【数据分析】认识Pandas:DataFrame和Series结构、属性

    数据分析工具--Pandas 认识Pandas Dataframe 结构 DataFrame 构造方法 dtype参数 Series 结构 Series 构造方法 DataFrame和Series属性 ...

  6. NumPy一维数组、二维数组与Pandas的Series、DataFrame行列结构和横纵方向的统一说明

    最近在这个问题上耽误了一些时间,原因是之前个人理解上出了一些偏差,又受到错误文章的误导,把这个问题搞复杂了,现在统一梳理一下.在展开之前,先明确说明的是:NumPy的二维数组与Pandas的DataF ...

  7. 【Python】Pandas基础:结构化数据处理

    python:Pandas基础:结构化数据处理 目录: 文章目录 @[toc] 一 pandas及其重要性 二 pandas的数据结构介绍 1 Series 2 DataFrame 3 索引对象 三 ...

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

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

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

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

最新文章

  1. 2013.11.13
  2. JavaScript中数组slice和splice的对比小结
  3. Ext 1.0 简要说明 类继承关系图
  4. java 百度地图地址解析_百度地图Java地址解析和经纬度解析
  5. 11纯代码 oc xcode_iOS代码染色原理及技术实践
  6. C 创建基本图表 Chart Controls
  7. (一)数据结构与算法-线性结构和非线性结构
  8. 富文本编辑器 CKeditor 配置使用
  9. 继承/作⽤域/作⽤域链
  10. Shell中字符串反转的六大方法
  11. 零基础带你学习MySQL—not null 非空(二十四)
  12. [Python] wxPython 菜单栏控件学习总结(原创)
  13. MSOCache 文件夹是否可以删除
  14. 世界流调——Gary
  15. aix 到 linux的网络,通过VIOS实现AIX系统的网络虚拟化
  16. SAP中库存地点MRP应用控制
  17. DVWA Contradiction #01
  18. OpenResty学习——第七章 Web开发实战2——商品详情页
  19. JS中的Storage
  20. 【安全测试】数据安全性

热门文章

  1. 45招绝密Windows操作系统小技巧大汇总
  2. 预装Win10的电脑改Win7的方法
  3. 华为服务器不显示硬盘,服务器读取不到硬盘
  4. [莱芜]面对面:异地就医即时结算是咋实现的?
  5. Linux网络连接NAT模式
  6. WIDER FACE AND PEDESTRIAN CHALLENGE - WIDER CHALLENGE
  7. 生产制造|销售管理实时在线,业务效率直线提升
  8. 2023北京旅行计划 2023带父母北京旅行计划
  9. 实用工具---各种工具安装使用
  10. Blender入门级使用