欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第二次打卡笔记

程序员文章站 2022-05-02 07:53:30
...

导入数据

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

第二次打卡笔记

一、单级索引

1、loc方法(位置索引)、iloc方法(标签索引)、[ ]操作符

(a)lcc方法

①单行索引
df.loc[1103]

第二次打卡笔记

②单列索引
df.loc[:,'Height'].head()

第二次打卡笔记

③联合索引
df.loc[1102:2401:3,'Height':'Math'].head()

第二次打卡笔记

④函数式索引:
df.loc[lambda x:x['Gender']=='M'].head()

(loc中使用的函数,传入参数就是前面的df)
第二次打卡笔记

⑤布尔索引
df.loc[df['Address'].isin(['street_7','street_4'])].head()

第二次打卡笔记
(loc中能传入的只有布尔列表和索引子集构成的列表)

(b)iloc方法(切片右端点不包含)

① 单行索引
df.iloc[3]

第二次打卡笔记

②单列索引
df.iloc[:,3].head()

第二次打卡笔记

③混合索引
df.iloc[3::4,7::-2].head()

第二次打卡笔记

④函数式索引
df.iloc[lambda x:[3]].head()

第二次打卡笔记
(iloc中接收的参数只能为整数或整数列表,不能使用布尔索引)

©[ ]操作符

(Series中的浮点[ ]进行值比较,而不是位置比较)

(1)Series的[ ]操作
①单元素索引:
s = pd.Series(df['Math'],index=df.index)
s[1101]

运行结果:34.0

② 多行索引:
s[0:4]
#使用的是绝对位置的整数切片,与元素无关,这里容易混淆

第二次打卡笔记

③ 函数式索引:
s[lambda x: x.index[16::-6]]

第二次打卡笔记

④ 布尔索引:
s[s>80]

第二次打卡笔记

(2)DataFrame的[ ]操作
① 单行索引:
df[1:2]

第二次打卡笔记

②单列索引:
df['School'].head()

第二次打卡笔记

③ 多列索引:
df[['School','Math']].head()

第二次打卡笔记

④函数式索引:
df[lambda x:['Math','Physics']].head()

第二次打卡笔记

⑤布尔索引:
df[df['Gender']=='F'].head()

第二次打卡笔记
([ ]操作常用于列选择或布尔选择,尽量避免行的选择)