官方解释:
Access a group of rows and columns by label(s) or a boolean array. ``.loc[]`` is primarily label based, but may also be used with a boolean array.
翻译成中文:
通过标签或布尔数组访问一组行和列。
.loc[]主要基于标签,但也可以与布尔数组一起使用。
以下代码为学习示例:
a={ "学号":["0526001","0526002","0526003","0526004","0526005","0526006","0526007","0526008", "0526009","0526010"], "姓名":["王生安","李鑫灏","薛佛世","蔡壮保","钱勤堃","潘恩依","陈国柏","魏皑虎","周卓浩","汤辟邦"], "数学":[56,78,85,55,60,98,92,89,75,65], "语文":[81,90,86,84,78,95,97,82,81,99], "英语":[100,89,91,85,76,66,95,97,93,94] } df=pd.DataFrame(a,index=["a","b","c","d","e","f","g","h","i","j"]) print(df)
代码输出结果:
a.通过单个标签读取数据(Single label. Note this returns the row as a Series.),代码如下:
df1=df.loc["a"] print(df1)
输出结果:
b.通过列表读取数据(List of labels. Note using ``[[]]`` returns a DataFrame.),代码如下:
df2=df.loc[["a","b","c"]] print(df2)
输出结果:
c.通过切片读取数据(注意:包含起始和结束位置),代码如下:
df3=df.loc["a":"f"] print(df3)
输出结果:
d.通过布尔值读取数据(注意:长度要与原始数据标签的长度一致),False表示不显示当前行,True显示当前行。代码如下:
df4=df.loc[[False,True,False,True,True,True,True,True,True,True]] print(df4)
输出结果:
以上示例的a、c标签因布尔值为False,输出的结果中未展示。
e.读取特定行和列的标签值,如读取2行的学号,代码如下:
df5=df.loc["c","学号"] print(df5)
输出结果为:
f.读取行和列的标签多个值,代码如下:
df5=df.loc[2:4,["学号","姓名"]] print(df5)
输出结果为:
g.读取特定行的标签值,如读取c、f标签的学号和姓名,代码如下:
df5=df.loc[["c","f"],["学号","姓名"]] print(df5)
输出结果为: