Pandas 中如何获取特定列满足给定条件的所有行的索引
Suraj Joshi
2023年1月30日
2020年6月9日
- 简单的索引操作可获取 Pandas 中特定列满足给定条件的所有行的索引
-
np.where()
方法获取特定列满足给定条件的所有行的索引 -
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
的所有行的索引列表。
Author: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn相关文章 - Pandas DataFrame
- 如何将 Pandas DataFrame 列标题获取为列表
- 如何删除 Pandas DataFrame 列
- 如何在 Pandas 中将 DataFrame 列转换为日期时间
- 如何在 Pandas DataFrame 中将浮点数转换为整数
- 如何按一列的值对 Pandas DataFrame 进行排序
- 如何用 group-by 和 sum 获得 Pandas 总和
相关文章 - Pandas DataFrame Row
- 如何获取 Pandas DataFrame 的行数
- 如何对 Pandas 中的 DataFrame 行随机排序
- 如何根据 Pandas 中的列值过滤 DataFrame 行
- 如何在 Pandas 中遍历 DataFrame 的行
- Pandas DataFrame 删除某行