读取文件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]
东京奥运会奖牌数据分析
在分析东京奥运会奖牌数据时,我们首先将获奖时间调整为正确的时间格式,并按获奖时间升序排列。这一步骤确保了数据时间轴的准确性,为后续的时间序列分析提供了可靠的基础。
我们对数据进行了按国家和运动员分组统计,计算各国家和运动员的奖牌总数,并按总数降序排列。这一过程展示了数据分组和聚合计算的应用,通过降序排列,我们能够直观地看到哪些国家和运动员在奥运会中表现最为突出。
最后,我们提取了乒乓球项目的全部信息,并统计了各国在不同项目上的奖牌数量,特别关注了中国队的表现。这一步骤不仅展示了如何针对特定项目和国家进行深入分析,也突出了在复杂数据中提取关键信息的能力。
通过本次实验,我们不仅掌握了数据读取、基本信息查询、数据访问与筛选、分组统计与计算等基本技能,还在实际操作中深化了对数据分析流程的理解。在处理不同数据集的过程中,我们学会了如何从数据中提取有价值的信息,并进行系统性分析。整体上,本次实验提升了我们在数据处理与分析方面的实战能力,为将来应对更复杂的数据分析任务打下了坚实的基础。
数据和完整代码
创作不易,希望大家多点赞关注评论!!!