2023(春)Python程序设计作业5:Pandas基础技能及综合应用

软工211陈英杰 2023-春-学生 2023-06-18 18:35:28

作业要求

  1.    [基础要求]  基于Jupyter Notebook 完成以下实验一、实验二、实验三;
  2.    [重点要求]  修改以下示例代码,以测试不同知识点。在博客上写出你:
  •  修改的代码、
  •  修改的愿意(意图)
  •  代码运行的结果
  •  你的结论

实验一:Series对象的应用

实验要求:

  • 定义一个Series对象,包含5个整数数据;
  • 访问、修改Series对象中的数据;
  • 打印Series对象;
  • 对Series对象进行计算,如求和、求平均值等。

示例代码:


 
  1. import pandas as pd

  2.  
  3. # 定义一个Series对象

  4.  
  5. s = pd.Series([10, 20, 30, 40, 50])

  6.  
  7. # 访问Series对象中的数据

  8.  
  9. print(s[0]) # 输出第一个元素

  10.  
  11. print(s[2:4]) # 输出第3个到第4个元素

  12.  
  13.  
  14. # 修改Series对象中的数据

  15.  
  16. s[1] = 25

  17.  
  18.  
  19. # 打印Series对象

  20.  
  21. print(s)

  22.  
  23.  
  24. # 对Series对象进行计算

  25.  
  26. print(s.sum()) # 求和

  27.  
  28. print(s.mean()) # 求平均值

实验二:DataFrame对象的应用

实验要求:

  • 定义一个DataFrame对象,包含3个列,每列分别为整数、浮点数和字符串类型;
  • 访问、修改DataFrame对象中的数据;
  • 对DataFrame对象进行计算,如求和、求平均值等。

示例代码:


 
  1. import pandas as pd

  2.  
  3.  
  4. # 定义一个DataFrame对象

  5.  
  6. data = {'int_col': [1, 2, 3, 4, 5], 'float_col': [1.2, 2.3, 3.4, 4.5, 5.6], 'str_col': ['a', 'b', 'c', 'd', 'e']}

  7.  
  8. df = pd.DataFrame(data)

  9.  
  10.  
  11. # 访问DataFrame对象中的数据

  12.  
  13. print(df['int_col'][0]) # 输出第一行第一列的数据

  14.  
  15. print(df.loc[1, 'str_col']) # 输出第二行第三列的数据

  16.  
  17.  
  18. # 修改DataFrame对象中的数据

  19.  
  20. df.loc[2, 'float_col'] = 3.5

  21.  
  22.  
  23. # 对DataFrame对象进行计算

  24.  
  25. print(df.sum()) # 求和

  26.  
  27. print(df.mean()) # 求平均值

 

实验三:综合实例

实验要求:

  • 定义一个包含省会城市、人口、GDP、城市面积的DataFrame对象;
  • 计算各种排名,如人口最多的城市、GDP最高的城市等;
  • 使用Pandas绘图,可视化上述实验结果。

示例代码:


 
  1. import pandas as pd

  2.  
  3. import matplotlib.pyplot as plt

  4.  
  5.  
  6. # 定义一个包含省会城市、人口、GDP、城市面积的DataFrame对象

  7.  
  8. data = {'city': ['北京', '上海', '广州', '深圳'], 'population': [2171, 2424, 1500, 1303],

  9.  
  10. 'gdp': [30320, 32679, 20353, 22458], 'area': [16410, 6340, 7434, 1996]}

  11.  
  12. df = pd.DataFrame(data)

  13.  
  14.  
  15. # 计算各种排名

  16.  
  17. pop_rank = df['population'].rank(ascending=False)

  18.  
  19. gdp_rank = df['gdp'].rank(ascending=False)

  20.  
  21. area_rank = df['area'].rank(ascending=False)

  22.  
  23.  
  24. # 将排名添加到DataFrame对象中

  25.  
  26. df['pop_rank'] = pop_rank

  27.  
  28. df['gdp_rank'] = gdp_rank

  29.  
  30. df['area_rank'] = area_rank

  31.  
  32.  
  33. # 使用Pandas绘图,可视化实验结果

  34.  
  35. df.plot(kind='bar', x='city', y=['population', 'gdp', 'area'], title='China Capital Cities')

  36.  
  37. plt.show()

...全文
9 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

162

社区成员

发帖
与我相关
我的任务
社区描述
软件工程老师
python 高校 江苏省·南通市
社区管理员
  • juking@ntu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧