Pandas 中如何获取特定列满足给定条件的所有行的索引

  1. 简单的索引操作可获取 Pandas 中特定列满足给定条件的所有行的索引
  2. np.where() 方法获取特定列满足给定条件的所有行的索引
  3. pandas.DataFrame.query() 获取特定列满足给定条件的所有行的索引

我们可以使用简单的索引操作获得特定列满足给定条件的所有行的索引。我们还可以使用 NumPy 包中的 where() 方法和 DataFrame 对象的 query() 方法找到它们的索引。

简单的索引操作可获取 Pandas 中特定列满足给定条件的所有行的索引

使用简单的索引操作可以完成获取特定列满足给定条件的行的索引的任务。

import pandas as pd
import numpy as np

dates=['April-10', 'April-11', 'April-12', 'April-13','April-14','April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]

df = pd.DataFrame({'Date':dates ,
                   'Sales':sales ,
                   'Price': prices})

reqd_Index = df[df['Sales']>=300].index.tolist()
print(reqd_Index)

输出:

[1, 2, 4, 5]

这里,df['Sales']>=300 给出一系列布尔值,如果其 Sales 列的值大于或等于 300,则其元素为 True。

我们可以通过使用 df.df['Sales']> = 300].index 来检索销售值大于或等于 300 的行的索引。

最后,tolist() 方法将所有索引转换为列表。

np.where() 方法获取特定列满足给定条件的所有行的索引

np.where() 将条件作为输入,并返回满足给定条件的元素的索引。因此,我们可以使用 np.where() 来获取特定列满足给定条件的所有行的索引。

import pandas as pd
import numpy as np

dates=['April-10', 'April-11', 'April-12', 'April-13','April-14','April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]

df = pd.DataFrame({'Date':dates ,
                   'Sales':sales ,
                   'Price': prices})

reqd_Index = list(np.where(df["Sales"] >= 300))
print(reqd_Index)

输出:

[array([1, 2, 4, 5])]

这将输出 Sales 列中的值大于或等于 300 的所有行的索引。

pandas.DataFrame.query() 获取特定列满足给定条件的所有行的索引

pandas.DataFrame.query() 返回由提供的查询表达式产生的 DataFrame。现在,我们可以使用 DataFrame 的 index 属性返回其特定列满足给定条件的所有行的索引。

import pandas as pd
import numpy as np

dates=['April-10', 'April-11', 'April-12', 'April-13','April-14','April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]

df = pd.DataFrame({'Date':dates ,
                   'Sales':sales ,
                   'Price': prices})

reqd_index = df.query('Sales == 300').index.tolist()
print(reqd_index)

输出:

[1, 4, 5]

它返回特定列满足给定条件 Sales == 300 的所有行的索引列表。

相关文章 - Pandas DataFrame

  • 替换 Pandas DataFrame 中的列值
  • 如何按一列的值对 Pandas DataFrame 进行排序
  • 相关文章 - Pandas DataFrame Row

  • 如何将函数应用到 Pandas Dataframe 中的某一列中去
  • 将 Pandas Series 转换为 DataFrame
  • 相关文章 - Pandas DataFrame Column

  • 如何将 Pandas Dataframe 转换为 Numpy 数组
  • 如何在 Pandas 中将 DataFrame 列转换为字符串