持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情
注意:本案例使用 Jupyter Notebook 进行案例演示
今天,我们将继续介绍Pandas库数据处理基本操作,本节将主要介绍数据的索引,如何使用索引获取指定数据?有一张表,如何获取你想要的数据?
1. 索引操作
1.1 直接索引
- 如果想直接索引到想要的数据,需要遵循第一个
[]内为列索引,第二个[]内为行索引 - 先列后行:
data[][] - 若想使用先行后列的形式:
data.loc[][]
1.2 按名字索引
data.loc[][]:输入行列索引名称
接下来,我们使用案例进行操作演示:
读取数据:将获取到的数据传给变量people
import pandas as pd
people = pd.read_csv("data/data140190/人口.csv")
people.head()
读取数据后的的运行结果如下图所示:
对于上面所示的数据,我们先进行直接索引操作:
- 语法:
- 先列后行:
data[][]
- 先列后行:
# 必须先列后行
people["出生人口(万)"][1]
运行结果如下图所示:["出生人口(万)"]为列索引,[1]为行索引。
1.3 按数字索引
data.iloc[][]- 直接传入行列索引对应的数字即可
people_new.iloc[0][0]
运行结果如下图所示:
1.4 组合索引
- 数字和名字混用
1.4.1 方法1:
- 使用
.loc - 名称索引可直接输入名称
- 数字索引需要转换索引(先获取到数字所在位置的索引值)
- people.index[0:4]:获取0-4行的行索引
people.loc[people.index[0:4], ["出生人口(万)","中国性别比例(按照女生=100)"]]
运行结果如下图所示:既使用了数字索引people.index[0:4],又使用了名称索引"出生人口(万)","中国性别比例(按照女生=100)",即获取到了第一行至第四行的"出生人口(万)"与"中国性别比例(按照女生=100)"两列数据。
1.4.2 方法2:
- 使用
.iloc- 对于数字索引可以直接使用数字表示
- 对于名称索引需要先获取到名称所在的索引
- columns.get_indexer:获取列索引
people.iloc[0:4, people.columns.get_indexer(['出生人口(万)','中国性别比例(按照女生=100)'])]
# data.columns.get_indexer获取某几个列索引
运行结果如下图所示: