Pandas 如何在DataFrame行中搜索一个值

Pandas 如何在DataFrame行中搜索一个值

Pandas DataFrame是数据结构的一部分,用于以表格形式(行和列)表示2D结构。在Python中,我们有一些内置函数,如eq(),any(),loc[]和apply(),可以用于在Pandas DataFrame行中搜索一个值。例如- 搜索值的定义是某个特定数据的可用性。

语法

在示例中使用以下语法−

DataFrame()

这是Python中的内置函数,遵循pandas模块,将2D的行和列显示为一个单独的框架。

eq()

这个在Python中的eq方法可以用于比较pandas DataFrame中的每个值,检查它是否等于一个确定的值。

any()

这也是Python的一个内置函数,如果任何可迭代的元素或项迭代,则返回true,否则返回false。

loc[]

以上方法通过返回DataFrame中特定的行和列进行表示。

apply()

这是Python中的内置函数,类似于map()函数。如果用户使用表格数据,则提供参数axis=1(行)或0(列)。

示例1

在下面的示例中,我们将展示如何在DataFrame的特定列中搜索值。首先,导入pandas模块,并将参考对象命名为pd。然后创建一个名为data的变量,并使用字典存储数据。然后使用内置方法DataFrame,它接受名为data的参数来定义表格形式的2D结构。接下来,设置某一列的任意值(例如siddhu),并将其存储在变量search_value中。接着使用列表技术检查名为Name的列是否等于search_value,如果是,则返回特定数据。所有这些过程都存储在变量result中。最后,仅使用名为result的变量并获取所需结果。

import pandas as pd
# Create a DataFrame
data = {'Name': ['Bhavish', 'Abhinabh', 'Siddhu'],
   'Age': [25, 32, 28]}
df = pd.DataFrame(data)

# Search for a value in the 'Name' column
search_value = 'Siddhu'
result = df[df['Name'] == search_value]
result

输出

Pandas 如何在DataFrame行中搜索一个值

示例2

在以下示例中,我们将展示如何通过条件在特定行中搜索一个值。首先通过导入pandas模块并引用为pd来启动程序。然后使用字典创建列和行数据。接下来,使用数据帧来设置数据的表格结构并将其存储在变量df中。然后选择给定行中的任何值(例如‘F’)并将其存储在变量search_value中。现在初始化变量result,并使用df变量的两种方法:eq()(接受search_value作为参数来查找给定的搜索)和any(axis=1)(它将迭代所有行以找到特定搜索)。最后,使用变量result并获取结果。

import pandas as pd
# Create a DataFrame using a dictionary
data = {'Name': ['A', 'X', 'C', 'F', 'L', 'G'],
   'Age': [25, 32, 18, 29, 13, 19]}
df = pd.DataFrame(data)

# Search for a value across all columns
search_value = 'F'
result = df[df.eq(search_value).any(axis=1)]
result

输出

Pandas 如何在DataFrame行中搜索一个值

示例3

在以下示例中,我们将展示如何使用loc[]属性在一行中搜索多个值。这里使用.loc[]属性,它通过给定的搜索值返回特定的行。loc属性使用两个参数-切片(:)和字典(键值对),这将帮助搜索特定的行。除了loc之外,还使用了两个更多的方法:eq()和any()来获得所需的输出。

import pandas as pd
# Create a DataFrame
data = {'Name': ['Shyam', 'Ranjan', 'Mohan', 'Raju', 'Dheeraj'],
   'Age': [25, 32, 18, 22, 26],
   'Designation': ['SDE', 'Tester', 'Web Devloper', 'Intern', 'HR'],
   'Salary': [50000, 17000, 26000, 20000, 17000]}
df = pd.DataFrame(data)

# Search for a value within a range of columns
search_value = 17000
ans = df.loc[df.loc[:, 'Age':'Salary'].eq(search_value).any(axis=1)]
ans

输出

Pandas 如何在DataFrame行中搜索一个值

示例4

在下面的示例中,我们将展示如何使用apply()和lambda在所有行中搜索一个值。这里使用apply()函数和lambda函数来迭代遍历每一行,并检查搜索值是否存在于行的值中:df.apply(lambda row: search_value in row.values, axis=1)。然后使用any()函数来检查搜索值是否至少在一行中被找到。

import pandas as pd
# Create of simple DataFrame
data = {"Name": ["Keshav", "Vishal", "Aman", "Shubham", "Amar"],
   "Age": [23, 22, 24, 26, 21]}
df = pd.DataFrame(data)

# Search for the value 22 in all rows using apply() and lambda
search_value = 22
if df.apply(lambda row: search_value in row.values, axis=1).any():
   print(f"{search_value} found in at least one row")
else:
   print(f"{search_value} not found in any row")

输出

22 found in at least one row

结论

我们讨论了在Pandas DataFrame行中搜索值的各种方式。我们看到了几个内置函数,可以帮助从给定的数据中搜索特定的行。各个领域都使用这种类型的模块来进行机器学习程序,如数据科学和数据分析。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程