Pandas 中获取特定列满足给定条件的所有行的索引的三种方法

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})
df

Pandas 中获取特定列满足给定条件的所有行的索引的三种方法_第1张图片

#1使用简单索引操作
reqd_Index = df[df['Sales']>=300].index.tolist()
print(reqd_Index)
#[1, 2, 4, 5]

#2.使用np.where()函数
reqd_Index = list(np.where(df["Sales"] >= 300))
print(reqd_Index)
#[array([1, 2, 4, 5], dtype=int64)]

#3pandas.DataFrame.query() 函数
reqd_index = df.query('Sales >= 300').index.tolist()
print(reqd_index)
#[1, 2, 4, 5]

参考资料:
如何将 Pandas DataFrame 列标题获取为列表

你可能感兴趣的:(pandas基础,pandas,python,numpy)