在文件“2018世界杯球队数据.csv”中存储了2018年世界杯32支参赛球队的相关数据,请利用pandas库编程实现如下功能: (1)利用pandas库的read_csv()函数读取“2018世界杯球队数据.csv”中的数据,并存入一个DataFrame对象中。 (2)输出净胜球(进球减去失球)大于0的球队。 (3)输出被罚红牌的球队。 (4)输出进球成功率(进球数/射门数)超过10%的球队及其进球数和射门数。 (5)输出进球数超过平均数且被罚黄牌少于5张的球队及其进球数和黄牌数。 (6)按照进球数降序输出所有球队及进球信息。 (7)按照所属区进行分组,按升序统计输出每个区的进球数。
时间: 2024-03-17 21:40:56 浏览: 206
基于Python和条形图实现的世界杯数据可视化源码+详细项目说明+数据.tar
5星 · 资源好评率100%
好的,以下是代码实现:
```python
import pandas as pd
# 读取数据
data = pd.read_csv('2018世界杯球队数据.csv', encoding='gbk')
# 输出净胜球大于0的球队
print('净胜球大于0的球队:')
print(data[data['净胜球'] > 0]['球队'])
# 输出被罚红牌的球队
print('被罚红牌的球队:')
print(data[data['红牌'] > 0]['球队'])
# 输出进球成功率超过10%的球队及其进球数和射门数
print('进球成功率超过10%的球队及其进球数和射门数:')
print(data[data['进球数'] / data['射门数'] > 0.1][['球队', '进球数', '射门数']])
# 计算平均进球数和平均黄牌数
mean_goals = data['进球数'].mean()
mean_yellow_cards = data['黄牌'].mean()
# 输出进球数超过平均数且被罚黄牌少于5张的球队及其进球数和黄牌数
print('进球数超过平均数且被罚黄牌少于5张的球队及其进球数和黄牌数:')
print(data[(data['进球数'] > mean_goals) & (data['黄牌'] < 5)][['球队', '进球数', '黄牌']])
# 按进球数降序输出所有球队及进球信息
print('按进球数降序输出所有球队及进球信息:')
print(data[['球队', '进球数']].sort_values('进球数', ascending=False))
# 按所属区进行分组,统计输出每个区的进球数
print('按所属区进行分组,统计输出每个区的进球数:')
print(data.groupby('所属区')['进球数'].sum().sort_values())
```
注意,以上代码中的路径 '2018世界杯球队数据.csv' 需要根据实际情况修改。
阅读全文