题目数据来源:https://www.kesci.com/mw/notebook/5c1b599d8859e0002b718378
数据过滤与排序 -- 探索2012欧洲杯数据
- 1. 导入必要的库
- 2. 加载数据
- 3. 只选取Goals这一列
- 4. 有多少球队参与了2012欧洲杯
- 5. 该数据集中一共有多少列(columns)
- 6. 将数据集中的列Team,Yellow Cards和Red Cards单独存为一个名叫discipline的数据框
- 7. 对数据框discipline按照先Red Cards再Yellow Cards进行排序
- 8. 计算每个球队拿到的黄牌数的平均值(所有球队一起的平均值)
- 9. 找到进球数Goals超过6的球队数据
- 10. 选取以字母G开头的球队数据
- 11. 选取前7列
- 12. 选取除了最后3列之外的全部列
- 13. 找到英格兰(England)、意大利(Italy)和俄罗斯(Russia)的射正率(Shooting Accuracy)
1. 导入必要的库
import pandas as pd
2. 加载数据
euro = pd.read_csv('Euro2012_stats.csv')
3. 只选取Goals这一列
euro.Goals
# 或:
euro.loc[:, 'Goals']
4. 有多少球队参与了2012欧洲杯
euro.Team.nunique()
5. 该数据集中一共有多少列(columns)
euro.shape[1]
6. 将数据集中的列Team,Yellow Cards和Red Cards单独存为一个名叫discipline的数据框
discipline = euro.loc[:, ['Team', 'Yellow Cards', 'Red Cards']]
7. 对数据框discipline按照先Red Cards再Yellow Cards进行排序
discipline.sort_values(['Red Cards', 'Yellow Cards'], ascending=False)
8. 计算每个球队拿到的黄牌数的平均值(所有球队一起的平均值)
discipline['Yellow Cards'].mean()
9. 找到进球数Goals超过6的球队数据
euro.loc[euro.Goals>6]
10. 选取以字母G开头的球队数据
euro.loc[euro.Team.str.startswith('G')]
11. 选取前7列
euro.iloc[:, 0:7]
# 或:
euro.iloc[:, [0, 1, 2, 3, 4, 5, 6]]
12. 选取除了最后3列之外的全部列
euro.iloc[:, :-3]
# 或:
euro.iloc[:, 0:-3]
13. 找到英格兰(England)、意大利(Italy)和俄罗斯(Russia)的射正率(Shooting Accuracy)
euro.loc[euro.Team.isin(['England', 'Italy', 'Russia']), ['Team', 'Shooting Accuracy']]
# euro.loc[['England', 'Italy', 'Russia'], ['Shooting Accuracy']]
# 此题需要数据框euro的index为Team列才有效