前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pandas获取数据子集

pandas获取数据子集

作者头像
陆勤_数据人网
发布2019-06-15 16:12:06
1.5K0
发布2019-06-15 16:12:06
举报
文章被收录于专栏:数据科学与人工智能

请思考:

1 pandas的数据结构有哪些?

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

3 pandas如何获取数据子集?

一 数据子集

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

二 pandas的数据结构

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

三 pandas获取数据子集方法

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

四 获取数据子集范例

1 序列子集获取

代码

代码语言:javascript
复制
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]

代码

代码语言:javascript
复制
1city.loc['Marion Military Institute']

请思考:

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

代码语言:javascript
复制
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 从数据框中获取序列

代码

代码语言:javascript
复制
1collge = pd.read_csv('data/college.csv', index_col='INSTNM')
2print(collge.iloc[60])
3print(collge.loc['University of Alaska Anchorage'])

2.2 从数据框获取部分观察

代码

代码语言:javascript
复制
1collge.iloc[[60, 90, 3]]

代码

代码语言:javascript
复制
1labels = ['University of Alaska Anchorage', 'International Academy of Hair Design', 'University of Alabama in Huntsville']
2collge.loc[labels]

请思考:

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

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

2.3 从数据框获取部分变量

代码

代码语言:javascript
复制
1college.iloc[:, :4].head()

代码

代码语言:javascript
复制
1college.loc[:, :'MENONLY'].head()

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

代码

代码语言:javascript
复制
1college.iloc[:3, :4]

代码

代码语言:javascript
复制
1college.loc[:'Amridge University', :'MENONLY']

请思考:

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

代码语言:javascript
复制
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的差异和使用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学与人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档