Pandas Series详解


Pandas 序列(Series)是pandas中的一维数据结构,类似于python中的列表和Numpy中的Ndarray对象,在 Series 中包含的数据类型可以是整数,浮点数,字符串,python对象等。

一、创建Series

pandas.Series( data, index, dtype, copy)

  • data:输入的数据,可以是列表、常量、ndarray 数组等。
  • index:索引值必须是唯一的,与data的长度相同,默认为np.arange(n)
  • dtype:数据类型
  • copy:是否复制数据,默认为false

1.1 创建空Series

import pandas as pd
import numpy as np
s = pd.Series()

# Series([], dtype: float64)

1.2 从ndarray创建Series

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

# 使用默认索引,索引默认从 0 开始分配 ,其索引范围为 0 到len(data)-1,即 0 到 3。这种设置方式被称为“隐式索引"。
data = np.array(['a','b','c','d'])
s = pd.Series(data)

'''
0    a
1    b
2    c
3    d
dtype: object
'''

# 指定索引,创建显示索引
data = np.array(['a','b','c','d'])
#自定义索引标签(即显示索引)
s = pd.Series(data,index=[100,101,102,103])

'''
100    a
101    b
102    c
103    d
dtype: object
'''

1.3 从字典创建Series

使用字典创建Series时,如果没有传入索引时会按照字典的键来构造索引;当传递了索引时需要将索引标签与字典中的值一一对应。

# 没有传递索引时
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)

'''
a    0.0
b    1.0
c    2.0
dtype: float64
'''

# 传递索引,如果字典中没有对应的键,使用NaN填充
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])

'''
b    1.0
c    2.0
d    NaN
a    0.0
dtype: float64
'''

1.4 从标量创建Series

如果 data 是标量值,则必须提供索引

# 使用标量5创建Series
s = pd.Series(5, index=[0, 1, 2, 3])

'''
0    5
1    5
2    5
3    5
dtype: int64
'''

二、访问Series

2.1 通过位置访问Series数据

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

s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
# 1. 位置索引访问
print(s[0])  # 1 

# 2. 通过切片的方式访问 Series 序列中的数据
print(s[:3])

'''
a    1
b    2
c    3
dtype: int64
'''

# 3. 获取后三个元素
print(s[-3:])

'''
c    3
d    4
e    5
dtype: int64
'''

2.2 通过索引访问Series数据

Series 类似于固定大小的 dict,把 index 中的索引标签当做 key,而把 Series 序列中的元素值当做 value,然后通过 index 索引标签来访问或者修改元素值。

# 1. 使用索引访问单个元素值
s = pd.Series([6,7,8,9,10],index = ['a','b','c','d','e'])
print(s['a']) # 6

# 2. 使用索引访问多个元素值,如果使用了index中不包含的标签,会报异常
print(s[['a','c','d']])

'''
a    6
c    8
d    9
dtype: int64
'''

三、Series常用属性

Series对象常用的属性

  • axes:以列表的形式返回所有行索引标签
  • dtype:返回对象的数据类型。
  • empty:返回一个布尔值,判断数据对象是否为空
  • ndim:返回输入数据的维数
  • size:返回输入数据的元素数量
  • values:以 ndarray 的形式返回 Series 对象
  • index:返回一个索引的取值
s = pd.Series([6,7,8,9,10],index = ['a','b','c','d','e'])

# 1. axes:所有行索引
print(s.axes)
# [Index(['a', 'b', 'c', 'd', 'e'], dtype='object')]

# 2. dtype:返回对象的数据类型
print(s.dtype)
# int64

# 3. empty:判断数据对象是否为空
print (s.empty)
# False

# 4. ndim:查看序列的维度,根据定义,Series 是一维数据结构,因此它始终返回 1。
print (s.ndim)
# 1

# 5. size:返回Series对象的大小(长度)
print(s.size)
# 5

# 6. values:以数组的形式返回Series对象中的数据
print(s.values)
print(type(s.values))

'''
[ 6  7  8  9 10]
<class 'numpy.ndarray'>
'''

# 7. index:查看 Series 中索引的取值
print(s.index)
Index(['a', 'b', 'c', 'd', 'e'], dtype='object')

四、Series常用方法

4.1 查看数据

# 1. head(3):查看前3个数据,默认显示前5
s = pd.Series(np.random.randn(5))
print (s)
print("============================")
#返回前三行数据
print (s.head(3))

'''
0    1.443607
1   -0.459203
2   -0.152334
3    0.877485
4    0.168968
dtype: float64
============================
0    1.443607
1   -0.459203
2   -0.152334
dtype: float64
'''

# 2. tail(3):显示后3行数据,默认显示后5行
print (s.tail(3))

'''
2   -0.152334
3    0.877485
4    0.168968
dtype: float64
'''

4.2 检测缺失值

  • isnull():如果值不存在或者缺失,则返回 True
  • notnull():如果值不存在或者缺失,则返回 False
s=pd.Series([1,2,5,None])

# 是空值返回True
print(pd.isnull(s)) 

'''
0    False
1    False
2    False
3     True
dtype: bool
'''

# 空值返回False 
print(pd.notnull(s)) 

'''
0     True
1     True
2     True
3    False
dtype: bool
'''
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PandasPython编程语言的一个开源数据分析和数据处理库。它提供了丰富的数据结构和功能,使得数据分析任务更加简单和高效。而Xmind是一种思维导图工具,可以帮助用户组织和展示复杂概念和信息。 Pandas库结合了NumPy的功能和扩展了更高级的数据结构,最重要的是它的数据结构--Dataframe。Dataframe是一个二维的表格型数据结构,类似于数据库表或Excel中的表格。它提供了各种方法来处理和操纵这些表格数据,包括数据的索引、选择、过滤、排序、分组等。 使用Pandas库可以读取和写入多种数据格式,如CSV、Excel、SQL数据库等。通过Pandas的数据结构,用户可以进行数据清洗和转换,处理缺失数据、重复数据、异常数据等。此外,Pandas还提供了强大的时间序列处理功能,可以进行时间索引、频率转换、滞后、移动窗口等操作。 在数据分析方面,Pandas提供了各种统计计算的方法,如平均值、标准差、协方差、相关系数等。同时,Pandas库还能够进行数据可视化,通过绘图的方式展示数据的分布、趋势和关联关系。这使得数据分析师可以更加直观地理解和解释数据。 Xmind是一种用于创建思维导图的工具,它可以将复杂的概念和信息以图形化的方式展示出来。思维导图可以帮助用户整理和梳理思路,帮助用户更好地理解和记忆知识。在使用Pandas进行数据分析时,可以使用Xmind来记录和整理自己的数据分析过程,包括数据处理的步骤、分析的结果和相关的观察或发现。这样可以帮助用户更好地管理和沟通数据分析的过程和结果。 总结来说,Pandas是一个功能强大的数据分析和处理库,通过其丰富的数据结构和方法,可以简化和高效完成各种数据分析任务。而Xmind则是一种思维导图工具,能够帮助用户整理和展示复杂概念和信息,方便用户将数据分析过程和结果进行可视化和整理。使用Pandas和Xmind可以让数据分析任务更加简单和直观。 ### 回答2: Pandas是一个开源的Python数据分析库,它提供了丰富的数据结构和数据分析工具,使得数据处理更加简单、高效。而Pandas库中的核心数据结构是DataFrame,可以理解为一个二维的表格数据,类似于Excel中的数据表。Xmind是一款思维导图软件,可以帮助我们更好地组织和展示思维。 Pandas可以通过Xmind来进行详解,主要包括以下几个方面: 1. DataFrame的创建和基本操作:可以通过读取文件、字典、Numpy数组等方式来创建DataFrame,然后可以进行数据的选取、切片、筛选等操作。 2. 数据的清洗和处理:Pandas提供了强大的数据清洗和处理功能,可以用来处理缺失数据、重复数据以及异常值。也可以进行数据的合并、拆分、排序等操作,以及字符串、时间序列、数值等类型的转换。 3. 数据的分组和聚合:Pandas的分组和聚合功能非常强大,可以进行按列或者按行的分组操作,然后对每一组数据进行一些聚合操作,如求和、计数、平均值等。这样可以更好地了解数据的分布和概况。 4. 数据的可视化:Pandas可以配合Matplotlib等数据可视化工具,对数据进行绘图和可视化操作。可以绘制线图、柱状图、饼图等各种图表,更直观地展示数据的特征和趋势。 综上所述,使用Pandas库可以更方便地进行数据分析和处理,而通过Xmind来详细说明Pandas的各种功能和操作,能够更好地帮助用户理解和应用这些功能,从而更高效地进行数据分析和处理。 ### 回答3: Pandas是一个Python库,专门用于数据分析和数据操作。它提供了高效的数据结构和数据分析工具,使得使用Python进行数据处理变得更加方便和快速。而Xmind是一款脑图软件,用于整理和组织复杂的思维结构。 Pandas提供的数据结构主要包括两种:Series和DataFrame。Series是一维的带有标签的数组,类似于传统的数组或列表。每个元素都有唯一的标签,可以通过标签进行索引取值,方便进行数据查找和操作。DataFrame则是二维的表格型数据结构,类似于关系型数据库中的表。它由多个Series组成,每个Series代表一列数据。DataFrame可以进行行列索引、数据选择和过滤,方便进行数据的清洗和分析。 Pandas提供了丰富的数据操作和分析工具。可以进行数据的读取、清洗、转换和处理。可以对数据进行切片、聚合、排序和合并等操作。还可以对数据进行统计分析、绘图和可视化。Pandas还支持对缺失数据的处理,能够灵活处理数据中的空值,并进行填充或删除操作。 Xmind是一款强大的思维导图软件,可以帮助用户将复杂的信息整理、组织和展示。用户可以使用Xmind创建思维导图来表示数据结构、函数关系、工作流程等。通过将Python中的Pandas库和Xmind结合使用,可以更好地理解和展示数据分析的过程。可以使用脑图绘制数据处理流程图,方便团队内部的交流和理解。同时,可以使用脑图来整理数据分析中的关键知识点和技巧,方便进行知识传递和分享。 综上所述,PythonPandas库提供了便捷的数据处理和分析工具,而Xmind则可以辅助整理和展示数据分析的过程和结果。两者结合使用,可以帮助用户更好地进行数据分析和可视化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值