索引取值
1、df[]取值
df[: 5] # 输入index,按行取值(0~4),同列表切片
df["date"] # 按列取值
df[df["date"] > "2020-01-01"] # 传入bool值,进行简单数据选择
2、df.loc[行标签, 列标签]
主要基于标签,但也可以与布尔数组一起使用。
- 单个标签。(注意,数字
5
被解释为标签) - 列表或标签数组。
['a', 'b', 'c']
- 带标签的切片对象
'a':'f'
(注意,不同于Python列表,切片包括端点'a','f'
) - 布尔数组
df[:5] # 按行标签取值,取0到5行,包括5
df.loc[:, 'a':'b'] # 按列取值
df.loc[df["date"] > "2020-01-01"] # 通过比较,传入bool值,进行简单数据筛选
3、df.iloc[行索引, 列索引]
主要基于整数位置(从0
到 length-1
),但也可以使用布尔阵列。
- 一个整数,例如
5
。 - 整数列表或数组。
[3, 2, 1]
- 带有整数的切片对象
1:7
。 - 布尔数组。
# 按行取值
df.iloc[[3, 2, 1]] # 按行取值,加一层[]——列表
df.iloc[:10:2] # 间隔两个,按行取值,同列表step=2
df = df.iloc[::-1] # 按行翻转数据
# 按列取值
df.iloc[:, 1:3] # 按列取值,不包含index=3的列
df.iloc[:, [1, 2]]