pandas获取数据子集

请思考:

1 pandas的数据结构有哪些?

2 pandas如何读取csv格式的数据?

3 pandas如何获取数据子集?

一 数据子集

数据子集是原始数据集的部分观察或者变量或者部分观察与变量,这是一个数据选择过程(按着业务的目标选择所需的观察和变量)。

二 pandas的数据结构

pandas提供两种数据结构,一种是序列,一种是数据框。序列是一维数据集,数据框是二维数据集。

三 pandas获取数据子集方法

  • iloc:使用观察或者列名的位置获取切片
  • loc:使用观察或者列明的标签获取切片

四 获取数据子集范例

1 序列子集获取

代码

1import numpy as np
2import pandas as pd
3
4college = pd.read_csv('data/college.csv', index_col='INSTNM')
5city = college['CITY']
6city.iloc[3]

代码

1city.loc['Marion Military Institute']

请思考:

1 请在notebook执行如下代码片段,查看结果

1print(city.iloc[[10, 20, 30]])
2print(city.iloc[4:50:10])
3np.random.seed(1)
4labels = list(np.random.choice(city.index, 4))
5print(city.loc[labels])
6print(city.loc['Alabama State University':'Reid State Technical College':10])
7print(city['Alabama State University':'Reid State Technical College':10])
8print(city.loc['Reid State Technical College':'Alabama State University':-10])

2 数据框子集操作

2.1 从数据框中获取序列

代码

1collge = pd.read_csv('data/college.csv', index_col='INSTNM')
2print(collge.iloc[60])
3print(collge.loc['University of Alaska Anchorage'])

2.2 从数据框获取部分观察

代码

1collge.iloc[[60, 90, 3]]

代码

1labels = ['University of Alaska Anchorage', 'International Academy of Hair Design', 'University of Alabama in Huntsville']
2collge.loc[labels]

请思考:

1 请在notebook执行如下代码片段,查看结果

1print(collge.iloc[99:102])
2start = 'International Academy of Hair Design'
3stop = 'Mesa Community College'
4print(college.loc[start:stop])

2.3 从数据框获取部分变量

代码

1college.iloc[:, :4].head()

代码

1college.loc[:, :'MENONLY'].head()

2.4 从数据框获取部分观察和变量

代码

1college.iloc[:3, :4]

代码

1college.loc[:'Amridge University', :'MENONLY']

请思考:

1 请在notebook执行如下代码片段,查看结果

1print(college.iloc[[100, 200], [7, 15]])
2rows = ['GateWay Community College', 'American Baptist Seminary of the West']
3columns = ['SATMTMID', 'UGDS_NHPI']
4print(college.loc[rows, columns])
5print(college.iloc[5, -4])
6print(college.loc['The University of Alabama', 'PCTFLOAN'])

五 总结

获取数据子集是数据工作中重要的环节,本文介绍pandas获取数据子集的方法,并且举例说明了iloc和loc的差异和使用。

原文发布于微信公众号 - 数据科学与人工智能(DS_AI_shujuren)

原文发表时间:2019-06-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券