Pandas - Series 类型的对象 - 3.相关操作

版权声明:转载请注明来源及作者,谢谢! https://blog.csdn.net/qq_42442369/article/details/86484397

Series相关操作

Series在操作上,与Numpy数据具有如下的相似性:

  • 支持广播与矢量化运算。
  • 支持索引与切片。
  • 支持整数数组与布尔数组提取元素。

运算

Series类型也支持矢量化运算与广播操作。计算规则与Numpy数组的规则相同。同时,Numpy的一些函数,也适用于Series类型,例如,np.mean,np.sum等。
多个Series运算时,会根据索引进行对齐。当索引无法匹配时,结果值为NaN(缺失值)。

说明:

  • 我们可以通过pandas或Series的isnull与notnull来判断数据是否缺失。
  • 除了运算符以外,我们也可以使用Series对象提供的相关方法进行运算【可以指定缺失的填充值】。
  • 尽管Numpy的一些函数,也适用于Series类型,但Series与ndarray数组对于空值NaN的计算处理方式上是不同的。【Numpy的计算,会得到NaN,而Series会忽略NaN】

一. 操作

1. 广播与矢量化计算

# 因为Series内部就关联一个ndarray。(values属性)
# 因此,Series也支持ndarray的运算操作。

# Series也支持广播与矢量化计算。但是这种计算方法与ndarray数组是不同的。
# 对于ndarray,运算是基于位置对齐的。而对于Series,运算时基于索引(index)对齐的。
# 如果索引(index)无法对齐,则会产生空值。

s = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6], index=[1, 2, 3])
# s + 3
# s + s2
# 除了运算符,Series对象也提供了相应的方法,用于计算。
# 运算的方法没有运算符简便,但是,运算方法可以提供比运算符更多的行为空值(方法可以通过参数指定更多的计算行为)。
s.add(s2, fill_value=100)

因为series内部就关联一个ndarray 通过values属性就能访问。所以,series也支持ndarray的运算操作。

Seire也支持广播和矢量化运算,
但是这种计算方式与ndarray数组是不一样的。

Ndarray是根据位置对齐的,
Series是根据索引对齐的。
在这里插入图片描述
在这里插入图片描述

2. 索引和切片

3. 基于索引数组提取元素

4. 基于布尔数组提取元素

# Series也支持索引与切片。
# s = pd.Series([5, 7, 9])
# s[2]
# s[0:2]
# 基于索引数组提取元素。
# s[[0, 2]]
# 基于布尔数组提取元素。
# s[[True, False, True]]
# s[s > 6]

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
往往是传过滤数组。

在这里插入图片描述

二. 运算

# 空值(缺失值)判断
# 空值 =》 NaN None
s = pd.Series([1, None, float("NaN")])
# 判断元素是否为空值,是返回True,否则返回False。
# s.isnull()
# 如果元素不是空值,返回True,否则返回False。
# s.notnull()

# Numpy的一些方法,也支持Series类型。例如,np.mean,np.sum等。
# 但是,Series与ndarray对空值的表现是不同的。
# 对于ndarray,如果存在空值,则结果为NaN,对于Series,如果存在空值,则忽略空值。
a = np.array([1, 2, 3, np.NaN])
s = pd.Series([1, 2, 3, np.NaN])
np.sum(s)

什么才是空值?
Isnull()
Nan 和 none
在这里插入图片描述
浮点类型可以返回NaN
Float(‘NaN’)
浮点类型的几个特殊值
在这里插入图片描述
后面两个都是空值
Isnull
notnull()
s.notnull() 判断元素不是空值,返回true,否则返回false

如果没有办法对齐
在这里插入图片描述

作用:以后判断缺失值的时候可能用到
s.add(s2)
除了运算符,series对象也提供了响应的方法,用于计算
s.add(s2)

在这里插入图片描述

Python 2 与 python 3 不同
Python 3 改动: 方法
Why?
关键字 变成 方法?

在这里插入图片描述

Print只是一个关键,无法指定行为表现
方法有参数,有参数就可以指定行为表现

Add()
产生一个新的值
在这里插入图片描述
Sum()
在这里插入图片描述
Nan的运算都是空
在这里插入图片描述
在这里插入图片描述
但是他们的行为是不同的,一种是位置,一种是键值对映射,Ndarray只要长度相同就对的上。Series不一样。
S如果有空值,就有空值。填上fill value就不会有控制。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42442369/article/details/86484397