2023(春)Python程序设计作业5:Pandas基础技能及综合应用
作业要求
- [基础要求] 基于Jupyter Notebook 完成以下实验一、实验二、实验三;
- [重点要求] 修改以下示例代码,以测试不同知识点。在博客上写出你:
- 修改的代码、
- 修改的愿意(意图)
- 代码运行的结果
- 你的结论
实验一:Series对象的应用
实验要求:
- 定义一个Series对象,包含5个整数数据;
- 访问、修改Series对象中的数据;
- 打印Series对象;
- 对Series对象进行计算,如求和、求平均值等。
修改的代码
-
import pandas as pd -
# 定义Series对象 -
data = pd.Series([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e']) -
# 访问Series对象中的数据 -
print(data['a']) -
print(data['c':'d']) -
# 修改Series对象中的数据 -
data['b'] = 25 -
# 打印Series对象 -
print(data) -
# 对Series对象进行计算 -
print("和:", data.sum()) -
print("平均值:", data.mean())
修改的意愿:计划使用index参数定义了Series对象的索引,可以使用索引名称或位置访问和修改数据
运行结果:

结论:修改可实现,只是略繁琐
实验二:DataFrame对象的应用
实验要求:
- 定义一个DataFrame对象,包含3个列,每列分别为整数、浮点数和字符串类型;
- 访问、修改DataFrame对象中的数据;
- 对DataFrame对象进行计算,如求和、求平均值等。
修改的代码:
-
import pandas as pd -
# 定义DataFrame对象 -
data = pd.DataFrame({'整数': [1, 2, 3, 4, 5], '浮点数': [1.2, 2.3, 3.4, 4.5, 5.6], '字符串': ['a', 'b', 'c', 'd', 'e']}, index=['r1', 'r2', 'r3', 'r4', 'r5']) -
# 访问DataFrame对象中的数据 -
print(data.iloc[2, 1]) -
# 修改DataFrame对象中的数据 -
data.iat[2, 1] = 10.5 -
# 打印DataFrame对象 -
print(data) -
# 对DataFrame对象进行计算 -
print("和:", data.sum()) -
print("平均值:", data.mean())
修改的意愿:使用index参数定义了DataFrame对象的行索引,bing1使用.iloc[]方法和行/列位置访问和修改数据。我们还可以使用.iat[]方法来访问和修改单个值。
运行结果:

结论:index方法略繁琐,其次可以借助一些pandas哭的方法
实验三:综合实例
实验要求:
- 定义一个包含省会城市、人口、GDP、城市面积的DataFrame对象;
- 计算各种排名,如人口最多的城市、GDP最高的城市等;
- 使用Pandas绘图,可视化上述实验结果。
修改的代码:
-
import pandas as pd -
import matplotlib.pyplot as plt -
# 定义DataFrame对象 -
data = pd.DataFrame({ -
'城市名称': ['北京', '上海', '广州', '深圳',], -
'人口': [2171, 2424, 1500, 1303], -
'GDP': [330320, 32679, 20353, 22458], -
'城市面积': [16410, 6340, 7434, 1996] -
}) -
# 计算人口最多的城市 -
pop_rank = data.sort_values(by='人口', ascending=False) -
print('人口最多的城市:', pop_rank.iloc[0]['城市名称']) -
# 计算GDP最高的城市 -
gdp_rank = data.sort_values(by='GDP', ascending=False) -
print('GDP最高的城市:', gdp_rank.iloc[0]['城市名称']) -
# 计算人口密度排名 -
data['人口密度'] = data['人口'] / data['城市面积'] -
density_rank = data.sort_values(by='人口密度', ascending=False) -
print('人口密度排名:', density_rank['城市名称'].values) -
# 使用Pandas绘图 -
fig, axs = plt.subplots(2, 2, figsize=(12, 8)) -
data.plot(kind='bar', x='城市名称', y='人口', ax=axs[0][0]) -
axs[0][0].set_title('城市人口') -
data.plot(kind='bar', x='城市名称', y='GDP', ax=axs[0][1]) -
axs[0][1].set_title('城市GDP') -
data.plot(kind='bar', x='城市名称', y='城市面积', ax=axs[1][0]) -
axs[1][0].set_title('城市面积') -
data.plot(kind='bar', x='城市名称', y='人口密度', ax=axs[1][1]) -
axs[1][1].set_title('城市人口密度') -
plt.tight_layout() -
plt.show()
修改的意愿:使用
plot()方法是一种更简单的方法来对DataFrame对象进行可视化,但可能会对绘图的样式和布局有所限制。运行的结果:

我的结论:pandas能更快捷地对数据进行处理。
-
相关推荐
2022-2023秋季学期Python程序设计大作业.zip
Python程序设计是现代计算机科学教育中的重要组成部分,尤其在2022-2023秋季学期的大作业中,它被选为强化学习和复习巩固的工具。
python-3综合程序设计2023最新英文版
【Python 3 综合程序设计】是一本2023年最新出版的英文版指南,专注于Python 3编程的全面学习。
记录并保存2023年春学习python时的作业和小练习.zip
在“大作业”中,可能会涉及到上述一个或多个知识点的综合运用,通过实际项目来巩固和提升Python技能。
Python程序设计应用基础实验(2023.春季).zip
这个"Python程序设计应用基础实验(2023.春季).zip"文件很可能包含了针对初学者的Python编程教学材料,旨在帮助学生掌握Python的基础知识和实际应用。
吉林大学人工智能学院2023级程序设计导论课程(python)期末大作业
通过本课程的学习,学生不仅能够掌握Python的基本语法,还能够了解到如何将这些基础应用到更高级的程序设计和人工智能项目中。本课程的期末大作业,是一个检验学生学习成果的重要环节。



