pandas处理数据之loc切片的用法

loc的使用

简单的说:
iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5]
loc,则可以使用column名和index名进行定位,如:
df.loc[‘image1’:‘image10’, ‘age’:‘score’]

首先初始化一个df方便使用

import pandas as pd
import numpy  as np
df=pd.DataFrame(np.random.uniform(1,5,(4,3)))

设置行列的名字

df.index=['a','b','c','d']
df.colums==['fir','sec','thr']

或者直接在初始化的时候直接写入如

df = pd.DataFrame(np.random.uniform(1,5,(4,3)), index=['a', 'b', 'c','d'],columns=['fir', 'sec','thr'])

单一标签:返回一整行

df.loc['a']

标签列表。使用[[]]返回DataFrame

df.loc[['a','b']]#a,b两行

返回指定行列的值

df.loc['a','fir']#返回a行fir列的值

切片表示行开始和结束的位置 注意范围 和要显示的列

df.loc['a':'c','fir']#这是a到c行返回fir这一列的值

布尔值返回需要的行数

df.loc[[Falese,True,False,True]]#返回b和c行,长度和行相同

增加条件进行筛选

df.loc[df['third']>3]#选取在third列中值大于3的行

按条件显示

df.loc[df['third']>3,'fir']#选取third列中值大于三的并显示相应的fir的值

设置整行的值

df.loc['a']=2.33#设置a行的所有值为2.33

设置整列的值

df.loc[:,'fir']=4.22#设置fir整列的值为4.22

loc的深度用法

1、loc 不仅可以输入数字也可以直接column名字,注意先行后列

df.loc[[0, 1, 10, 100], ['country', 'province', 'region_1', 'region_2']]

表示index(行)为0,1,10,100,列名为'country', 'province', 'region_1', 'region_2'。
2、

 df.loc[df.country=='Italy']

选取country 列全是‘Italy’的数据

3、这两种写法等同,注意isin()的用法

df_final = df[df.country.isin(["Italy", "France"]) & (df.points >= 90)].country
df = df[df.points>=90]
df_final = (df.loc[df.country.isin(['France','Italy']),'country'])

 

 

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值