📜  Python|熊猫 dataframe.eq()(1)

📅  最后修改于: 2023-12-03 14:46:29.991000             🧑  作者: Mango

Python | 熊猫 DataFrame.eq()

简介

DataFrame.eq() 是熊猫(Pandas)数据分析库中的一个函数,用于比较DataFrame中的值是否与给定的值相等,并返回一个布尔值DataFrame,其中包含与指定值匹配的位置的布尔值。

这个函数类似于==操作符。

语法

下面是eq()函数的语法:

DataFrame.eq(other, axis='columns', level=None)

eq()函数的参数包括:

  • other :用来与之比较的数据集(可以是标量、Series、DataFrame、Panel等)。
  • axis :指定比较方式的轴,可以是行(axis=0)或列(axis=1
  • level :指定比较的位置,用于复合索引数据集的情况。
示例

下面的示例演示了如何使用DataFrame.eq()函数。 假设我们有一个包含三列数据的数据集:

import pandas as pd

data = {'name': ['Tom', 'John', 'Mary', 'Lisa'], 
        'age': [25, 19, 32, 27],
        'city': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)

这个数据集长这样:

| | name | age | city | |---:|:-------|------:|:---------| | 0 | Tom | 25 | New York | | 1 | John | 19 | London | | 2 | Mary | 32 | Paris | | 3 | Lisa | 27 | Tokyo |

现在,我们想找到所有年龄等于 25 岁的人。 为此,我们可以按如下方式使用eq()函数:

df['age'].eq(25)

这将返回一个布尔值序列,对应于数据集中每个元素是否等于 25。

0     True
1    False
2    False
3    False
Name: age, dtype: bool

我们可以将这个序列用作索引,并使用loc[]函数过滤掉数据集中年龄不等于 25 的行。

df.loc[df['age'].eq(25)]

这将返回一个新的数据集,只包括那些年龄为 25 的人。

| | name | age | city | |---:|:-------|------:|:---------| | 0 | Tom | 25 | New York |

总结

DataFrame.eq()函数是一种方便的比较数据集中元素的方法。 它返回一个布尔值序列,对应于数据集中的每个元素是否等于给定的值。 可以使用它来过滤数据集中符合特定条件的行。