pandas中Series对象

参考:
Pandas Series入门教程
Pandas 数据结构 - Series

Pandas 数据结构 - Series
理解

这个Series可以简单理解成一列数据,这一列数据是以数组的形式存储的。数组有下标,也就是索引,我们可以指定索引范围,数组中的数据类型也可以指定,还可以给这样一列数据一个名字,就像是列的标题一样。
直观的看,Series长这样:
在这里插入图片描述

pandas.Series()
pandas.Series( data, index, dtype, name, copy)
参数说明:
  • data:一组数据(ndarray 类型)。
  • index:数据索引标签,如果不指定,默认从 0 开始。
  • dtype:数据类型,默认会自己判断。
  • name:设置名称。
  • copy:拷贝数据,默认为 False。

一个一个来看:

第一个参数data

首先想要创建一个Series对象,需要使用pandas.Series()这个函数。
首先需要导入pandas库。

import pandas as pd

现在既然想要创建一个Series对象,那这个Series对象(就想象成一列数据),那么这个列里面的数据是什么,这个数据就是由data参数来指定的。
它可以是python基本类型中的list,dict,也可以是numpy中的ndarray类型。
举例:

import pandas as pd
import numpy as np

#创建一个python列表
a1 = [1,3,5,7,9]
#创建一个numpy中的ndarray类型数组,步长为2
a2 = np.arange(2,11,step=2)

#看一下a1和a2的类型
print(type(a1))
print(type(a2))

在这里插入图片描述

#创建一个Series
s1 = pd.Series(data=a1)
s2 = pd.Series(data=a2)

#看一下这个Series
print(s1)

在这里插入图片描述

print(s2)

在这里插入图片描述

第二个参数index

前面已经说了,这个Series可以看成一列数据,数据是用数组来存储的,数组中就有index,所以这个参数就是来指定我们自己的index。默认情况下,index从0开始,比如上面两个s1与s2就是从0开始的索引:
在这里插入图片描述
假设现在有三个学生:[‘张三’,‘李四’,‘王五’],用这个列表创建一个Series:

stus=['张三','李四','王五']
s = pd.Series(stus)
s

在这里插入图片描述
由于每一个学生都有学号,我们不想使用0,1,2,作为索引,想使用学号作为索引。

#创建一个索引,长度需要跟数据的长度一致
index = ['001','002','003']
#使用这个索引
s.index = index
s

在这里插入图片描述
也可以直接使用索引取出数据
在这里插入图片描述

dtype,name,copy参数
  • dtype:指的就是series中数据的类型,Series 的数据类型一般是 NumPy 数据类型。
  • name:感觉好像没啥用
  • copy:表示对 data 进行拷贝,默认为 False。还没明白
stus=['张三','李四','王五']
#创建一个索引,
index = ['001','002','003']
s = pd.Series(stus,index=index,name='students',copy=True)
s

在这里插入图片描述

使用字典创建Series对象

除了可以使用列表或者ndarray类型来创建Series之外,还可以使用字典来创建。

#创建一个字典
d = {
    'a':0,
    'b':1,
    'c':2
}
s = pd.Series(data=d)
s

在这里插入图片描述
字典的key作为了Series的索引。

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

用一个例子来展示这些方法属性:

#np.random.randn(5)生成5个服从标准正态分布的数据
s = pd.Series(np.random.randn(5))
s

在这里插入图片描述

axes

在这里插入图片描述
s.axes:可以看出返回的是Series的索引范围,这里给出的信息表示:这个索引是从0开始的,到5停止,步长为1,的列表

那么如果把索引改一下,改成字符类型,返回的结果是:

#np.random.randn(5)生成5个服从标准正态分布的数据
s = pd.Series(np.random.randn(5),index=['1','2','3','4','5'])
s

在这里插入图片描述
在这里插入图片描述
还是可以直接返回出索引的范围

dtype

在这里插入图片描述
没感觉啥用

empty

在这里插入图片描述
Series为空:返回True:
在这里插入图片描述

否则返回False

ndim

查看序列的维数。根据定义,Series 是一维数据结构,因此它始终返回 1
在这里插入图片描述

size

返回 Series 对象的大小(长度)。也就是Series中有几个数据
在这里插入图片描述

values

以数组(ndarray)的形式返回 Series 对象中的数据。
在这里插入图片描述
这个应该是用的比较多的一个属性。

index

该属性用来查看 Series 中索引的取值范围。
在这里插入图片描述
和上面的axes好像没啥区别。

Series常用方法
1) head()&tail()查看数据

如果想要查看 Series 的某一部分数据,可以使用 head() 或者 tail() 方法。
head:头,默认返回前5行数据
tail:尾,默认返回后5行数据

s = pd.Series(np.random.randn(10))
s

在这里插入图片描述

#指定返回前3行
print(s.head(3))

print('---------------------')
#默认返回前5行
print(s.head())

在这里插入图片描述

#指定返回后3行
print(s.tail(3))

print('---------------------')
#默认返回后5行
print(s.tail())

在这里插入图片描述

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

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

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

在这里插入图片描述

print(pd.isnull(s))  #是空值返回True
print('-------------------')
print(pd.notnull(s)) #空值返回False

在这里插入图片描述
可以看到它是对Series中的每一个数据都做了一个检查。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值