Python——奥运会数据分析(1)

图1 数据集(部分数据)

 数据中的字段及说明如下表1所示:

表1 数据字段及说明

字段说明
ID 编号
Name 名字
Sex性别
Age年龄
Height身高
Weight体重
Team队伍
NOC国家/地区代号
Games奥运会名称
Year时间
Season季节
City城市
Sport运动大类
Event具体运动项目
Medal奖牌

本文中是数据分析使用的方法或函数可在以下四篇文章中找到详细的使用方法

1. Python——Numpy基础分析(1)-CSDN博客

2.Python——Numpy基础分析(2)-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
  • 感兴趣的话,大家可以思考一下选取一行的有多少种方式呢

注意:本文中数据以及内容若有侵权,请第一时间联系删除。

           本文是作者个人学习后的总结,未经作者授权,禁止转载,谢谢配合。

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cherry晴

创作不易,多多包涵~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值