Pandas是入门Python做数据分析所必须要掌握的一个库,本文精选了十套练习题,帮助读者上手Python代码,完成数据集探索。
本文内容由科赛网翻译整理自Github,建议读者完成科赛网 从零上手Python关键代码 和 Pandas基础命令速查表 教程学习的之后,再对本教程代码进行调试学习。
【小提示:本文所使用的数据集下载地址:DATA | TRAIN 练习数据集】
👇点击此处,不用配环境,就可以在线运行代码
其他x题系列:
- 50道练习带你玩转Pandas
- 这100道练习,带你玩转Numpy
- 35题初探scikit-learn库,get机器学习好帮手√
- 50题matplotlib从入门到精通
- 40题刷爆Keras,人生苦短我选Keras
- 60题PyTorch简易入门指南,做技术的弄潮儿
- 50题真 • 一文入门TensorFlow2.x
- 90题细品吴恩达《机器学习》,感受被刷题支配的恐惧
- 170题吴恩达《深度学习》面面观,一套更比三套强
- 【抗击新冠特别篇】33题数据可视化实战
目录
习题编号 | 内容 | 相应数据集 |
---|---|---|
练习1 - 开始了解你的数据 | 探索Chipotle快餐数据 | chipotle.tsv |
练习2 - 数据过滤与排序 | 探索2012欧洲杯数据 | Euro2012_stats.csv |
练习3 - 数据分组 | 探索酒类消费数据 | drinks.csv |
练习4 -Apply函数 | 探索1960 - 2014 美国犯罪数据 | US_Crime_Rates_1960_2014.csv |
练习5 - 合并 | 探索虚拟姓名数据 | 练习中手动内置的数据 |
练习6 - 统计 | 探索风速数据 | wind.data |
练习7 - 可视化 | 探索泰坦尼克灾难数据 | train.csv |
练习8 - 创建数据框 | 探索Pokemon数据 | 练习中手动内置的数据 |
练习9 - 时间序列 | 探索Apple公司股价数据 | Apple_stock.csv |
练习10 - 删除数据 | 探索Iris纸鸢花数据 | iris.csv |
练习1-开始了解你的数据
探索Chipotle快餐数据
相应数据集:chipotle.tsv
步骤1 导入必要的库
# 运行以下代码
import pandas as pd
步骤2 从如下地址导入数据集
# 运行以下代码
path1 = "../input/pandas_exercise/exercise_data/chipotle.tsv" # chipotle.tsv
步骤3 将数据集存入一个名为chipo的数据框内
# 运行以下代码
chipo = pd.read_csv(path1, sep = '\t')
步骤4 查看前10行内容
# 运行以下代码
chipo.head(10)
步骤6 数据集中有多少个列(columns)
# 运行以下代码
chipo.shape[1]
步骤7 打印出全部的列名称
# 运行以下代码
chipo.columns
步骤8 数据集的索引是怎样的
# 运行以下代码
chipo.index
步骤9 被下单数最多商品(item)是什么?
# 运行以下代码,做了修正
c = chipo[['item_name','quantity']].groupby(['item_name'],as_index=False).agg({
'quantity':sum})
c.sort_values(['quantity'],ascending=False,inplace=True)
c.head()
步骤10 在item_name这一列中,一共有多少种商品被下单?
# 运行以下代码
chipo['item_name'].nunique()
步骤11 在choice_description中,下单次数最多的商品是什么?
# 运行以下代码,存在一些小问题
chipo['choice_description'].value_counts().head()
步骤12 一共有多少商品被下单?
# 运行以下代码
total_items_orders = chipo['quantity'].sum()
total_items_orders
步骤13 将item_price转换为浮点数
# 运行以下代码
dollarizer = lambda x: float(x[1:-1])
chipo['item_price'] = chipo['item_price'].apply(dollarizer)
步骤14 在该数据集对应的时期内,收入(revenue)是多少
# 运行以下代码,已经做更正
chipo['sub_total'] = round(chipo['item_price'] * chipo['quantity'],2)
chipo['sub_total'].sum()
步骤15 在该数据集对应的时期内,一共有多少订单?
# 运行以下代码
chipo['order_id'].nunique()
步骤16 每一单(order)对应的平均总价是多少?
# 运行以下代码,已经做过更正
chipo[['order_id','sub_total']].groupby(by=['order_id']).agg({
'sub_total':'sum'})['sub_total'].mean()
步骤17 一共有多少种不同的商品被售出?
# 运行以下代码
chipo['item_name'].nunique()
练习2-数据过滤与排序
探索2012欧洲杯数据
相应数据集:Euro2012_stats.csv
步骤1 - 导入必要的库
# 运行以下代码
import pandas as pd
步骤2 - 从以下地址导入数据集
# 运行以下代码
path2 = "../input/pandas_exercise/exercise_data/Euro2012_stats.csv" # Euro2012_stats.csv
步骤3 - 将数据集命名为euro12
# 运行以下代码
euro12 = pd.read_csv(path2)
euro12
步骤4 只选取 Goals 这一列
# 运行以下代码
euro12.Goals
步骤5 有多少球队参与了2012欧洲杯?
# 运行以下代码
euro12.shape[0]
步骤6 该数据集中一共有多少列(columns)?
# 运行以下代码
euro12.info()
步骤7 将数据集中的列Team, Yellow Cards和Red Cards单独存为一个名叫discipline的数据框
# 运行以下代码
discipline = euro12[['Team', 'Yellow Cards', 'Red Cards']]
discipline
步骤8 对数据框discipline按照先Red Cards再Yellow Cards进行排序
# 运行以下代码
discipline.sort_values(['Red Cards', 'Yellow Cards'], ascending = False)