Pandas主要通过索引来定位和获取数据。
Pandas的索引有两种,一种是自然索引,一种是指定的索引。
自然索引无法更改
自然行索引 0, 1, 2, 3 ……
自然列索引 0, 1, 2, 3 ……
指定索引可以人为指定和修改
如果没有指定列索引,默认的指定列索引就是列名
如果没有指定行索引,默认的指定行索引和自然行索引一样
取整行或整列
df[ ]
方括号内可以是:
列名 (不支持列名切片) |
|
|||||||||||||
行索引切片 (不支持单个行索引, 也不支持行索引列表) |
|
|||||||||||||
条件筛选 |
(列和行的索引方式不通用,可以避免pandas理解混乱)
按行和列组合获取数据
df.loc[x, y]
x |
指定行索引 |
|
||||||||
y |
指定列索引 可省略,默认返回所有列 |
|
df.iloc[i, j]
i |
自然行索引 |
|
||||||||
j |
自然列索引 可省略,默认返回所有列 |
|
取单个数据
df.at[x, y]
x |
单个指定行索引 |
'a' |
y |
单个指定列索引 |
'name' |
df.at['a', 'name']
df.iat[i, j]
i |
单个自然行索引 |
1 |
j |
单个自然列索引 |
5 |
df.iat[1, 5]