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
#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 列标题获取为列表