pandas isin函数

pandas isin函数

pandas isin函数

在数据处理和分析中,我们经常会遇到需要判断某个数据是否在另一个数据集中的情况。为了方便地实现这一功能,pandas 提供了isin函数,可以快速判断 Series 或 DataFrame 中的元素是否包含在另一个数据结构中。

pandas isin函数的基本用法

isin函数的基本语法如下:

pandas.DataFrame.isin(values)
pandas.Series.isin(values)
Python

其中,values可以是列表、元组、字典、Series 或 DataFrame,用来指定需要匹配的数据。isin函数会返回一个布尔类型的 Series 或 DataFrame,表明每个元素是否在values中出现。

让我们来看一个示例:

import pandas as pd

data = {'A': [1, 2, 3, 4, 5],
        'B': ['apple', 'banana', 'orange', 'grape', 'watermelon']}
df = pd.DataFrame(data)

fruits = ['apple', 'banana', 'grape']

df['B'].isin(fruits)
Python

运行以上代码,可以得到如下输出:

0     True
1     True
2    False
3     True
4    False
Name: B, dtype: bool
Python

以上代码中,我们创建了一个DataFrame,并定义了一个包含水果名称的列表fruits。然后我们对 DataFrame 中 ‘B’ 列的元素使用isin函数,返回了一个布尔类型的 Series,指示每个元素是否在fruits中。

使用isin函数进行数据过滤

isin函数在数据过滤中非常实用。通过将isin函数的返回结果作为过滤条件,我们可以只保留包含特定元素的行。让我们看一个示例:

import pandas as pd

data = {'A': [1, 2, 3, 4, 5],
        'B': ['apple', 'banana', 'orange', 'grape', 'watermelon']}
df = pd.DataFrame(data)

fruits = ['apple', 'banana', 'grape']

filtered_df = df[df['B'].isin(fruits)]
filtered_df
Python

以上示例中,我们使用isin函数筛选出了 B列包含在fruits列表中的行,得到了新的 DataFrame filtered_df。运行以上代码,可以看到输出如下:

   A       B
0  1   apple
1  2  banana
3  4   grape
Python

可以看到,数据已经成功被过滤,只保留了包含在fruits列表中的行。

isin函数的更多用法

除了上述的基本用法和数据过滤,isin函数还有一些其他用法:

  1. 在 DataFrame 中同时判断多列是否包含在给定数据中:
import pandas as pd

data = {'A': [1, 2, 3, 4, 5],
        'B': ['apple', 'banana', 'orange', 'grape', 'watermelon'],
        'C': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

fruits = ['apple', 'banana']
numbers = [20, 30]

df.isin({'B': fruits, 'C': numbers})
Python
  1. 判断 Series 中的元素是否在另一个 Series 中存在:
import pandas as pd

data1 = pd.Series(['apple', 'banana', 'orange', 'grape', 'watermelon'])
data2 = pd.Series(['apple', 'grape', 'watermelon'])

data1.isin(data2)
Python

总结

本文介绍了 pandas 中的isin函数的基本用法,包括如何判断数据是否在另一个数据集中以及如何进行数据过滤。通过isin函数,我们可以快速、便利地实现数据匹配和筛选,提高数据处理效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册