pandas第二次打卡

一、单级索引
三类常用的索引方法:
loc表示位置索引
loc表示标签索引
[]也具有很大的便利性,各有特点

(a).loc方法(注意:所有在loc中使用的切片全部包含右端点!)
① 单行索引:df.loc[1103]
② 多行索引:df.loc[[1102,2304]]
df.loc[1304:].head()
df.loc[2402::-1].head() 逆项
③ 单列索引:df.loc[:,‘Height’].head()
④ 多列索引:df.loc[:,[‘Height’,‘Math’]].head()
df.loc[:,‘Height’:‘Math’].head()
⑤ 联合索引:df.loc[1102:2401:3,‘Height’:‘Math’].head()
⑥ 函数式索引:df.loc[lambda x:x[‘Gender’]‘M’].head()
⑦ 布尔索引:df.loc[df[‘Address’].isin([‘street_7’,‘street_4’])].head()
小结:loc中能传入的只有布尔列表和索引子集构成的列表,只要把握这个原则就很容易理解上述操作
(b)iloc方法(注意与loc不同,切片右端点不包含)
① 单行索引:df.iloc[3]
② 多行索引:df.iloc[3:5]
③ 单列索引:df.iloc[:,3].head()
④ 多列索引:df.iloc[:,7::-2].head()
⑤ 混合索引:df.iloc[3::4,7::-2].head()
⑥ 函数式索引:df.iloc[lambda x:[3]].head()
(c) [ ]操作符
(c.1)Series的[]操作
① 单元素索引:s = pd.Series(df[‘Math’],index=df.index)
s[1101]
#使用的是索引标签
② 多行索引:s[0:4]
#使用的是绝对位置的整数切片,与元素无关,这里容易混淆
③ 函数式索引:
s[lambda x: x.index[16::-6]]
#注意使用lambda函数时,直接切片(如:s[lambda x: 16::-6])就报错,此时使用的不是绝对位置切片,而是元素切片,非常易错
④ 布尔索引:s[s>80]
(c.2)DataFrame的[ ]操作
① 单行索引:df[1:2]
#这里非常容易写成df[‘label’],会报错
#同Series使用了绝对位置切片
#如果想要获得某一个元素,可用如下get_loc方法:row = df.index.get_loc(1102)
df[row:row+1]
② 多行索引:#用切片,如果是选取指定的某几行,推荐使用loc,否则很可能报错
df[3:5]
③ 单列索引:df[‘School’].head()
④ 多列索引:df[[‘School’,‘Math’]].head()
⑤函数式索引:df[lambda x:[‘Math’,‘Physics’]].head()
⑥ 布尔索引:df[df[‘Gender’]‘F’].head()
小结:一般来说,[ ]操作符常用于列选择或布尔选择,尽量避免行的选择

【练习一】 现有一份关于UFO的数据集,请解决下列问题:
(a)在所有被观测时间超过60s的时间中,哪个形状最多?
a)df.query(‘duration>60’)[‘shape’].value_counts().index[0]
在这里插入图片描述

(b)对经纬度进行划分:-180°至180°以30°为一个划分,-90°至90°以18°为一个划分,请问哪个区域中报告的UFO事件数量最多?

bins_long=np.linspace(-180,180,13).tolist()
bins_la=np.linspace(-90,90,11).tolist()
cuts_long=pd.cut(df['longitude'],bins=bins_long)
df['cuts_long']=cuts_longcuts_la=pd.cut(df['latitude'],bins_la)
df['cuts_la']=cuts_la
df.head()   df.set_index(['cuts_long','cuts_la']).index.value_counts().head()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值