pandas中数据选取2(loc与iloc的用法)

pandas中loc与iloc的用法

a = {"name":["lemon","jack","peter","Emma","james"],
     "city":["长沙","上海","深圳","北京","北京"],
     "a":[80,90,60,73,89],
     "b":[80,75,80,85,83],
     "c":[70,75,80,73,62]}

df = pd.DataFrame(data=a)
#.行索引名称筛选loc
#loc,通过行或列的索引名 名称来选择行或列的数据
#常见使用 
df.loc[row_name,col_name]
row_name,col_name  的取值可以为某个特定的字符串(string)或者切片(slice)或者列表(list)

df = pd.DataFrame(data=a)

var = df.loc[:]#选取整个数据框
var = df.loc[:,"name"]#选取所有的行中的name列
var = df.loc[:,"name":"a"]#选取切片中所有连续的列,切片包括切片的开始与结束
var = df.loc[:,["name","a"]]#选取列表中的“name”与“a”列
var = df.loc["a"]#如果列表中只有某个字母,表示的是选取名称为”a"的数据行
var = df.loc[:"g"]#表示的是选取名称为'g"及之前的数据行
var = df.loc[:"g",:]#与楼上同样的效果
var = df.loc[["a","g"]]#行索引名称
var = df.loc[:"g","a":]#通过设置行索引名称与列索引名称,选取特定的数据块
var = df.loc["g","a"]#通过设置行索引名称与列索引名称,选取特定的数据单元
#特殊情况
tf_list = [True,False,True,False,False] #需要与行数或者列数保持一致
var = df.loc[tf_list,:]#选取所有True对应位置的行


#iloc,通过行或列的索引位置数值来选择行或列的数据
#iloc与loc几乎完全一致,就是一个是label一个是数值
var = df.iloc[:]#选取整个数据框
var = df.iloc[1]#索引从0开始,选取第二行数据
var = df.iloc[:1]#索引从0开始,切片前闭后开

var = df.iloc[:,0:3]#选取切片中所有连续的列,切片包括切片的开始与结束
var = df.iloc[:,[0,2]]#选取第1列与第3列

tf_list = [True,False,True,False,False] #需要与行数或者列数保持一致
var = df.iloc[tf_list,:]#选取所有True对应位置的行

posted @ 2023-02-13 23:33  小杨的冥想课  阅读(62)  评论(0编辑  收藏  举报