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

  • 如何用 group-by 和 sum 获得 Pandas 总和
  • 如何计算 Pandas Dataframe 列中的 NaN 出现的次数
  • 相关文章 - Pandas Row Index

  • 如何将 Python 词典转换为 Pandas DataFrame
  • 如何在 Pandas DataFrame 中重命名列
  • 相关文章 - Pandas Column

  • 如何将 Pandas Dataframe 转换为 Numpy 数组
  • 如何在 Pandas 中使用默认值向现有 DataFrame 添加新列
  • comments powered by Disqus