python-Numpy及Pandas数据分析应用

读取文件team.xlsx数据,其中'name':名字, 'team':所属团队, 'Q1':语文分数, 'Q2':数学分数, 'Q3':英语分数, 'Q4':政治分数

数据集和完整代码

# (1) 查询该数据的索引、所有值、列名、数据类型、元素个数、维度以及形状

import pandas as pd

# 读取Excel文件
df = pd.read_excel('team.xlsx')
# (1) 查询该数据的索引、所有值、列名、数据类型、元素个数、维度以及形状
print("索引:", df.index)
print("所有值:", df.values)
print("列名:", df.columns)

print("数据类型:", df.dtypes)
print("元素个数:", df.size)
print("维度:", df.ndim)
print("形状:", df.shape)

 

(2) 访问该数据中’name’、’team’中的前5行数据

print("前5行数据(name, team):")
print(df[['name', 'team']].head())

# (3) 访问该数据所属团队为B组中的成员名字,并筛选出B组中'Q1'大于60分的同学

print("检查B组中'Q1'大于60分的成员:")
b_group_q1_above_60 = b_group[b_group['Q1'] > 60]
print(b_group_q1_above_60)

print("B组中'Q1'大于60分的同学名字:")
print(b_group_q1_above_60['name'])

(4) 在文件最后添加一列’tol’,意为该成员的四门课的分数总和

df['tol'] = df['Q1'] + df['Q2'] + df['Q3'] + df['Q4']
print("添加'tol'后的数据:")
print(df.head())

 

# (5) 对该数据按所属团队进行分类,查看每个团队的大小,并计算每个团队的Q1', 'Q2', 'Q3', 'Q4'四门课的总分和平均分

grouped = df.groupby('team')
team_size = grouped.size()
team_sum = grouped[['Q1', 'Q2', 'Q3', 'Q4']].sum()
team_mean = grouped[['Q1', 'Q2', 'Q3', 'Q4']].mean()

在本次实验中,通过读取 文件,我们首先对数据进行了基本信息的查询,包括索引、所有值、列名、数据类型、元素个数、维度和形状等。这些基础信息的获取为我们后续的分析和处理奠定了坚实的基础,确保我们对数据的整体结构和内容有了清晰的了解。接下来,我们深入访问了数据的具体内容,提取了 `name` 和 `team` 列的前五行数据。同时,我们对所属团队为 B 组的成员进行了筛选,并进一步筛选出语文成绩(Q1)大于60分的同学。这一步骤不仅提高了我们对数据操作的熟练度,也让我们掌握了数据筛选和条件查询的技巧。最后,我们在数据末尾添加了一列表示四门课分数总和的 `tol` 列,并对数据按团队进行分类统计,计算每个团队的大小以及四门课程的总分和平均分。这一步骤展示了如何进行数据的分组统计和计算,不仅深化了我们对数据处理的理解,也为实际应用中的团队成绩分析提供了有效的方法。

再使用东京奥运会奖牌分日数据数据继续分析

# 读取Excel文件
df = pd.read_excel('东京奥运会奖牌分日数据.xlsx')
df.head()

(1)将获奖时间修改为时间格式,并按照获奖时间升序排列

df['获奖时间'] = pd.to_datetime(df['获奖时间'])
df_sorted_time = df.sort_values(by='获奖时间')

 

2)按国家进行分组统计,计算每个国家的奖牌总数,并降序排列

country_medal_count = df_sorted_time.groupby('国家id').size().reset_index(name='奖牌总数').sort_values(by='奖牌总数', ascending=False)

(3)按运动员进行分组统计,计算每个运动员获得的奖牌总数,并降序排列

athlete_medal_count = df_sorted_time.groupby('运动员').size().reset_index(name='奖牌总数').sort_values(by='奖牌总数', ascending=False)
athlete_medal_count

 

(4)查看乒乓球项目的全部信息

pingpong_info = df_sorted_time[df_sorted_time['运动类别'] == '乒乓球']

(5)查看各国在不同项目上的获奖牌数量

country_sport_medal_count = df_sorted_time.groupby(['国家id', '运动类别']).size().reset_index(name='奖牌数量')

 

接着查询中国队的获奖牌数量

china_medal_count = country_sport_medal_count[country_sport_medal_count['国家id'] == 26]

东京奥运会奖牌数据分析

在分析东京奥运会奖牌数据时,我们首先将获奖时间调整为正确的时间格式,并按获奖时间升序排列。这一步骤确保了数据时间轴的准确性,为后续的时间序列分析提供了可靠的基础。

我们对数据进行了按国家和运动员分组统计,计算各国家和运动员的奖牌总数,并按总数降序排列。这一过程展示了数据分组和聚合计算的应用,通过降序排列,我们能够直观地看到哪些国家和运动员在奥运会中表现最为突出。

最后,我们提取了乒乓球项目的全部信息,并统计了各国在不同项目上的奖牌数量,特别关注了中国队的表现。这一步骤不仅展示了如何针对特定项目和国家进行深入分析,也突出了在复杂数据中提取关键信息的能力。

通过本次实验,我们不仅掌握了数据读取、基本信息查询、数据访问与筛选、分组统计与计算等基本技能,还在实际操作中深化了对数据分析流程的理解。在处理不同数据集的过程中,我们学会了如何从数据中提取有价值的信息,并进行系统性分析。整体上,本次实验提升了我们在数据处理与分析方面的实战能力,为将来应对更复杂的数据分析任务打下了坚实的基础。

数据和完整代码

创作不易,希望大家多点赞关注评论!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值