数据中的字段及说明如下表1所示:
表1 数据字段及说明
字段 | 说明 |
ID | 编号 |
Name | 名字 |
Sex | 性别 |
Age | 年龄 |
Height | 身高 |
Weight | 体重 |
Team | 队伍 |
NOC | 国家/地区代号 |
Games | 奥运会名称 |
Year | 时间 |
Season | 季节 |
City | 城市 |
Sport | 运动大类 |
Event | 具体运动项目 |
Medal | 奖牌 |
本文中是数据分析使用的方法或函数可在以下四篇文章中找到详细的使用方法
1. Python——Numpy基础分析(1)-CSDN博客
3.Python——Pandas的基本使用方法(1)-CSDN博客
4.Python——Pandas的基本使用方法(2)-CSDN博客
1、数据的读取
1.1 数据的读取——从csv、xlsx、txt文件格式中读取数据
# 1.预先导入pandas与numpy库
import pandas as pd
import numpy as np
# 2.从csv中读取athlete_events文件中的数据
athlete = pd.read_csv(r'C:/Users/Administrator/Desktop/实验三——奥运会数据分析/athlete_events.csv')
# athlete1 = pd.read_excel('C:/Users/Administrator/Desktop/实验三——奥运会数据分析/athlete.xlsx')
# athlete2 = pd.read_csv('C:/Users/Administrator/Desktop/实验三——奥运会数据分析/athlete.txt',delimiter="\t")
1.2 查看数据类型大小
- type( )方法——查看数据的类型
- shape( )方法——查看数据的大小即维度
# 1.查看数据的类型
type(athlete)
# 2.得到的结果为
pandas.core.frame.DataFrame
# 3.查看数据的大小即维度
athlete.shape
# 4.得到的结果为
(271116, 15)
1.3 数据的索引与切片
1.3.1 查看数据所有列的列名
# 1.查看数据所有列的列名
athlete.columns
# 2.得到的结果为
Index(['ID', 'Name', 'Sex', 'Age', 'Height', 'Weight', 'Team', 'NOC', 'Games','Year', 'Season', 'City', 'Sport', 'Event', 'Medal'], dtype='object')
1.3.2 index( )方法——查看数据所有元素的索引信息
- str.index(str, beg=0, end=len(string))
str | 指定检索的字符串 |
beg | 开始索引,默认为0 |
end | 结束索引,默认为字符串的长度 |
1.3.3 values( )方法——查看所有数据的值
# 1.查看所有数据的值
athlete.values
# 2.得到的结果为
array([[1, 'A Dijiang', 'M', ..., 'Basketball',
"Basketball Men's Basketball", nan],
[2, 'A Lamusi', 'M', ..., 'Judo', "Judo Men's Extra-Lightweight",
nan],
[3, 'Gunnar Nielsen Aaby', 'M', ..., 'Football',
"Football Men's Football", nan],
...,
[135570, 'Piotr ya', 'M', ..., 'Ski Jumping',
"Ski Jumping Men's Large Hill, Team", nan],
[135571, 'Tomasz Ireneusz ya', 'M', ..., 'Bobsleigh',
"Bobsleigh Men's Four", nan],
[135571, 'Tomasz Ireneusz ya', 'M', ..., 'Bobsleigh',
"Bobsleigh Men's Four", nan]], dtype=object)
1.3.4 head( )方法——查看第一行数据
# 1.查看第一行数据,列名算是第0行
athlete.head(1)
# 2.得到的结果为
ID Name Sex Age Height Weight Team NOC Games Year Season City Sport Event Medal
0 1 A Dijiang M 24.0 180.0 80.0 China CHN 1992 Summer 1992 Summer Barcelona Basketball Basketball Men's Basketball NaN
1.3.5 tail( )方法——查看最后5行的数据
# 1.使用tail函数,tail()函数默认取数据的最后5行,这里取数据的后3行
athlete.tail(3)
# 2.得到的结果为
ID Name Sex Age Height Weight Team NOC Games Year Season City Sport Event Medal
271113 135570 Piotr ya M 27.0 176.0 59.0 Poland POL 2014 Winter 2014 Winter Sochi Ski Jumping Ski Jumping Men's Large Hill, Team NaN
271114 135571 Tomasz Ireneusz ya M 30.0 185.0 96.0 Poland POL 1998 Winter 1998 Winter Nagano Bobsleigh Bobsleigh Men's Four NaN
271115 135571 Tomasz Ireneusz ya M 34.0 185.0 96.0 Poland POL 2002 Winter 2002 Winter Salt Lake City Bobsleigh Bobsleigh Men's Four NaN
1.3.6 sample( )方法——随机抽取数据
# 1.从指定序列中随机获取指定长度的片断并随机排列,结果以列表的形式返回。注意:sample函数不会修改原有序列
athlete.sample(3)
# 2.得到的结果为
ID Name Sex Age Height Weight Team NOC Games Year Season City Sport Event Medal
92935 47088 Bret Michael Hedican M 35.0 188.0 89.0 United States USA 2006 Winter 2006 Winter Torino Ice Hockey Ice Hockey Men's Ice Hockey NaN
14008 7572 Jean-Paul Banos M 31.0 182.0 75.0 Canada CAN 1992 Summer 1992 Summer Barcelona Fencing Fencing Men's Sabre, Individual NaN
166160 83448 Sofiya Ivanovna Muratova (Poduzdova-) F 31.0 160.0 55.0 Soviet Union URS 1960 Summer 1960 Summer Roma Gymnastics Gymnastics Women's Individual All-Around Silver
1.3.7 选取一列数据的三种方法
(1)通过索引切片的方式,输出Sex这一列是所有值
# 1.通过索引切片的方式,输出Sex这一列是所有值
athlete['Sex']
# 2.得到的结果为
0 M
1 M
2 M
3 M
4 F
..
271111 M
271112 M
271113 M
271114 M
271115 M
Name: Sex, Length: 271116, dtype: object
(2)loc按索引名称切片,用于选取行索引,列索引已知
# 1.loc按索引名称切片,用于选取行索引,列索引已知
# loc就根据这个index来索引对应的行
athlete.loc[:,'Sex']
# 2.得到的结果为
0 M
1 M
2 M
3 M
4 F
..
271111 M
271112 M
271113 M
271114 M
271115 M
Name: Sex, Length: 271116, dtype: object
(3)通过列的索引位置切片
# 1.通过列的索引位置切片
# 选取某一列,按默认索引(实际位置)切片,不知道列名只知道列的位置时
athlete.iloc[:,2]
# 2.得到的结果为
0 M
1 M
2 M
3 M
4 F
..
271111 M
271112 M
271113 M
271114 M
271115 M
Name: Sex, Length: 271116, dtype: object
- Series 查看Sex列的数据的类型,发现这个是个一维数组
- DataFrame 查看Sex列的数据类型,发现这是个二维数组
# 1.Series 查看Sex列的数据的类型,发现这个是个一维数组
type(athlete['Sex'])
# 2.得到的结果为
pandas.core.series.Series
# 3.DataFrame 查看Sex列的数据类型,发现这是个二维数组
type(athlete[['Sex']])
# 4.得到的结果为
pandas.core.frame.DataFrame
- 感兴趣的话,大家可以思考一下选取一行的有多少种方式呢
注意:本文中数据以及内容若有侵权,请第一时间联系删除。
本文是作者个人学习后的总结,未经作者授权,禁止转载,谢谢配合。