📜  如何使用 Pandas Chaining 过滤行?

📅  最后修改于: 2022-05-13 01:54:31.134000             🧑  作者: Mango

如何使用 Pandas Chaining 过滤行?

在本文中,我们将学习如何使用 Pandas 链来过滤行。首先,我们研究了一些以前的术语,如下所示:

  • Pandas DataFrame :它是一种二维数据结构,即数据在行和列中以表格形式对齐。 Pandas DataFrame 具有三个主要组件,即数据、行和列。
  • Pandas Chaining :方法链,其中方法在一个对象上依次调用,一个接一个。它一直是 Pandas 的一种编程风格,在过去的几个版本中,引入了许多允许更多链接的方法。

这里我们使用 Pandas 中的链接概念来过滤数据帧并获得与输出相同的行。这可以在示例的帮助下轻松解释。这里我们使用一个数据框,其中包含一些人的数据,如下所示:

Python
# import package
import pandas as pd
  
# define data
data = pd.DataFrame(
  {'ID': {0: 105, 1: 102, 2: 101, 3: 106, 4: 103, 5: 104, 6: 107},
   
   'Name': {0: 'Ram Kumar', 1: 'Jack Wills', 2: 'Deepanshu Rustagi', 
          3: 'Thomas James', 4: 'Jenny Advekar', 5: 'Yash Raj', 
          6: 'Raman Dutt Mishra'},
   
   'Age': {0: 40, 1: 23, 2: 20, 3: 34, 4: 18, 5: 56, 6: 35},
   
   'Country': {0: 'India', 1: 'Uk', 2: 'India', 3: 'Australia', 
               4: 'Uk', 5: 'India', 6: 'India'}
  }
)
  
# view data
data


Python3
# select the rows with specific value in 
# a particular column
print(data[data.Country.eq('India')])


Python3
# select the rows with specific grouped 
# values in a particular column
print(data[data.Age<30])


Python3
# select the rows with specific string
# or character value in a particular column
print(data[data.Name.str.contains('am')])


Python3
# define the set of values
lst=['Uk','Australia']
  
# select the rows from specific set 
# of values in a particular column
print(data[data.Country.isin(lst)])


输出:

按特定值过滤

在这里,我们选择特定列中具有特定值的行。选择数据框中的 Country 列,其值为 'India' 以过滤行。

蟒蛇3

# select the rows with specific value in 
# a particular column
print(data[data.Country.eq('India')])

输出:

按特定分组值过滤

在这里,我们选择特定列中具有特定分组值的行。选择数据框中的年龄列,其值小于 30 以过滤行。

蟒蛇3

# select the rows with specific grouped 
# values in a particular column
print(data[data.Age<30])

输出:

按特定字符或字符串值过滤

在这里,我们选择特定列中具有特定字符或字符串值的行。选择数据框中的名称列,其值包含“am”以过滤行。

蟒蛇3

# select the rows with specific string
# or character value in a particular column
print(data[data.Name.str.contains('am')])

输出:

按特定值集中的值过滤

在这里,我们从特定列中的特定值集中选择行。选择数据框中的 Country 列并与给定的值集匹配以过滤行。

蟒蛇3

# define the set of values
lst=['Uk','Australia']
  
# select the rows from specific set 
# of values in a particular column
print(data[data.Country.isin(lst)])

输出: