📜  如何在 pandas 中过滤系列 - Python (1)

📅  最后修改于: 2023-12-03 15:08:44.116000             🧑  作者: Mango

如何在 pandas 中过滤系列 - Python

在 pandas 中,可以使用一系列方法来过滤系列,包括:

  • 比较运算符
  • isin() 方法
  • str.contains() 方法

下面将会说明这些方法以及如何在 pandas 中应用它们来过滤系列。

比较运算符

可以使用比较运算符,如 >、<、>=、<=、==、!= 等来过滤系列。例如,在以下代码中,将创建一个名为 series 的系列,包含一些数字,然后使用比较运算符来过滤系列,返回大于 5 的数字所组成的子集。

import pandas as pd

# 创建一个系列
series = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# 过滤系列
filtered_series = series[series > 5]

print(filtered_series)

输出结果如下:

5     6
6     7
7     8
8     9
9    10
dtype: int64
isin() 方法

isin() 方法可以用来检查系列中的每个元素是否在给定的值的列表中。例如,在以下代码中,将创建一个名为 series 的系列,包含一些颜色,然后使用 isin() 方法来过滤系列,仅返回三种颜色所组成的子集。

import pandas as pd

# 创建一个系列
series = pd.Series(['red', 'green', 'blue', 'yellow', 'red', 'green', 'orange'])

# 过滤系列
filtered_series = series[series.isin(['red', 'green', 'blue'])]

print(filtered_series)

输出结果如下:

0      red
1    green
2     blue
4      red
5    green
dtype: object
str.contains() 方法

可以使用 str.contains() 方法来检查系列中每个元素是否包含给定的字符串。例如,在以下代码中,将创建一个名为 series 的系列,包含一些字符串,然后使用 str.contains() 方法来过滤系列,仅返回包含 'ba' 子串的字符串所组成的子集。

import pandas as pd

# 创建一个系列
series = pd.Series(['foo', 'bar', 'baz', 'qux'])

# 过滤系列
filtered_series = series[series.str.contains('ba')]

print(filtered_series)

输出结果如下:

1    bar
2    baz
dtype: object

现在,你已经了解了在 pandas 中过滤系列的几种方法,你可以使用这些方法来过滤你自己的数据集中的系列。