请思考:
1 pandas的数据结构有哪些?
2 pandas如何读取csv格式的数据?
3 pandas如何获取数据子集?
一 数据子集
数据子集是原始数据集的部分观察或者变量或者部分观察与变量,这是一个数据选择过程(按着业务的目标选择所需的观察和变量)。
二 pandas的数据结构
pandas提供两种数据结构,一种是序列,一种是数据框。序列是一维数据集,数据框是二维数据集。
三 pandas获取数据子集方法
四 获取数据子集范例
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的差异和使用。