第二章 索引

第二章 索引

本章主要介绍Pandas数据结构中的各种索引方法

import numpy as np
import pandas as pd
df = pd.read_csv('data/table.csv',index_col='ID')
df.head()

一、单机索引

1. loc方法、iloc方法、[]操作符 (常用的三种)
# df.loc[要索引行的名称, 要索引的列的名称] (支持切片)
df.loc[1103]  # 取ID为1103的行
df.loc[[1103, 1105]]  # 取两行
df.loc[::-1]
df.loc[:, 'Height'] # 取列
# df.iloc与df.loc相似,i代表index,之按序号索引

注:请不要在行索引为浮点时使用[]操作符,因为在Series中的浮点[]并不是进行位置比较,而是值比较,非常特殊

# 在python语法中[]本身就是一种语法糖,所以[]索引与常规相似
s = pd.Series(df['Math'],index=df.index)
s[0:4]
s[lambda x: x.index[16::-6]]
s[s>80]
# 在dataframe中[]索引行是只能用对应的序号(0,1, ...),对列时可以是名称
# 但是可以用这种方式替代
row = df.index.get_loc(1102)
df[row:row+1]
2、布尔索引

布尔符号:’&’,’|’,’~’:分别代表和and,或or,取反not
loc和[]中相应位置都能使用布尔列表选择

df[(df['Gender']=='F')&(df['Address']=='street_2')].head()

isin方法 (is + in)感觉类似于bool方法

df[df['Address'].isin(['street_1','street_4'])&df['Physics'].isin(['A','A+'])]
3、快速标量索引

当只需要取一个元素时,at和iat方法能够提供更快的实现:

display(df.at[1101,'School'])
display(df.loc[1101,'School'])
display(df.iat[0,0])
display(df.iloc[0,0])
4、区间索引

原作这写的太。。。,不做解释了

pd.interval_range(start=0,end=5)
#closed参数可选'left''right''both''neither',默认左开右闭
pd.interval_range(start=0,periods=8,freq=5)
#periods参数控制区间个数,freq控制步长
math_interval = pd.cut(df['Math']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值