本文所用到的Excel表格内容如下:
这一篇着重讲述按列筛选需要的数据,主要包括按普通索引选择和按位置索引选择这2中选择方式。
1.按普通索引选择数据
这里说一下,列普通索引实际上就是列名。为了行文方便,后续一律称普通索引。
1.1 按普通索引选择单列数据
import pandas as pd
df = pd.read_excel(r'C:\Users\admin\Desktop\data_test.xlsx')
print(df['区域'])
result:
0 东北
1 西北
2 华南
3 华北
4 华中
Name: 区域, dtype: object
这里是选取列名为区域这一列的内容
1.2 按普通索引选择多列数据
df = pd.read_excel(r'C:\Users\admin\Desktop\data_test.xlsx')
print(df[['区域', '城市']])
result:
区域 城市
0 东北 大连
1 西北 西安
2 华南 深圳
3 华北 北京
4 华中 武汉
这里是选取列名为区域这一列和列名为城市这一列的内容
注:选择单列数据是参数为字符串类型,多列数据时参数为列表类型
2.按位置索引选择数据
2.1 按列的位置选择单列数据
iloc的用法为;ioc[行位置, 列位置]。本例中行的位置为:,代表所有行。行和列的位置都是从0开始计数的。
df = pd.read_excel(r'C:\Users\admin\Desktop\data_test.xlsx')
print(df.iloc[:, 0])
result:
0 东北
1 西北
2 华南
3 华北
4 华中
Name: 区域, dtype: object
这里是选取第1列的内容(列的数目比索引多1)
2.2 按列的位置选择多列数据
df = pd.read_excel(r'C:\Users\admin\Desktop\data_test.xlsx')
print(df.iloc[:, [0, 2]])
result:
区域 城市
0 东北 大连
1 西北 西安
2 华南 深圳
3 华北 北京
4 华中 武汉
这里是选取第1列和第3列的内容(列的数目比索引多1)
3. 选择连续多列数据
df = pd.read_excel(r'C:\Users\admin\Desktop\data_test.xlsx')
print(df.iloc[:, 0:3])
result:
区域 省份 城市
0 东北 辽宁 大连
1 西北 广东 西安
2 华南 北京 深圳
3 华北 湖北 北京
4 华中 黑龙江 武汉
表示获取所有行第1列到第3列的数据。选择连续多列数据时语法类似于切片语法,所以也称之为切片索引。