1.常用索引
(1)iloc表示位置索引,
⭐首先,涵盖所有行,继而是从第七列往回倒着,-2表示每隔一个取出一个来,-1表示挨个往回倒着的意思
df.iloc[:,7::-2].head()
👇表示第三列,所有行,取出来
df.iloc[:,3].head()
(2)loc表示标签索引
布尔索引,见笑了,我第一次入门这个,很生涩 👇理解为Address这一列,取值为‘street_7’和‘street_4’的数值出来。疑问:但是这个前提下,是要首先知道Address里面都有哪一些内容,这个就要用到Task01当中的df['Name'].value_counts()
来查看啦!
df.loc[df['Address'].isin(['street_7','street_4'])].head()
👆和👇两种表示,说的是一个意思,我认为上面的更好理解一些。
df.loc[[True if i[-1]=='4' or i[-1]=='7' else False for i in df['Address'].values]].head()
(3)[]也具有很大的便利性,但是易混淆点也很多
布尔索引再次敲重点⭐
df[df['Gender']=='F'].head()
[]操作符常用于列选择或布尔选择,尽量避免行的选择
2.布尔索引-详解
(1)布尔符号
👇表示把符合这两种情况的都取出来,&表示并且
df[(df['Gender']=='F')&(df['Address']=='street_2')].head()
👇|表示或者,任何这两列中,只要有一个满足条件,就取出来
df[(df['Math']>85)|(df['Address']=='street_7')].head()
👇~表示相反,目标列数中,只要有这两列的
df[~((df['Math']>75)|(df['Address']=='street_1'))].head()
👇有条件索引,(df[:8]['Address']=='street_6')
代表前8行,符合这个条件的,这个看起来有些问题,不好理解。。。
df.loc[df['Math']>60,(df[:8]['Address']=='street_6').values].head()
最近时间任务较重,先学习到这里吧~~谢谢大家