pandas系列之按列选择数据

1,387 阅读2分钟

本文所用到的Excel表格内容如下:

QQ拼音截图未命名.png 这一篇着重讲述按列筛选需要的数据,主要包括按普通索引选择和按位置索引选择这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列的数据。选择连续多列数据时语法类似于切片语法,所以也称之为切片索引。