#1 loc筛选 loc为普遍用法
得到单个值
df.loc["e行","F列"]
df.loc["a行", ["B列", "F列","E列"]]
列表批量查询
df.loc[ ["a行","b行", "f行"], ["B列", "F列","E列"]]
区间范围连续查询
df.loc["a行":"c行", "B列":"C列"]
条件表达式查询
df.loc[df["C列"]>0, :] #筛选C列>0,显示满足条件所有行
组合条件表达式查询
dfdf.loc[ (df["C列"]>0) & (df["D列"]<1) & (df["E列"].str.contains("优秀")), :]
调用lambda函数查询
df.loc[lambda df: (df["C列"]>0) & (df["D列"]<1), :]
调用自定义函数查询
def query_1(df):
return df.index.str.startwith("2021-01") & df["D列"]<1
df.loc[query_1, :]
#2 iloc
iloc只能接受行标和列表号作为参数,不支持表达式查询
df.iloc[1, 5] #相当于取具体的单元格数据,相当于iat
df.iloc[2:4, 1:5] #取连续行列数据
df.iloc[[2,4], [1:5]] #取删选的不连续行列数据