数据可视化实验一:Panda数据处理及matplotlib绘图初步

目录​​​​​​​

2024-6-17

一、请将所有含有发明家"吴峰"的发明专利的"申请日"打印出来。并将含有"吴峰"的所有发明专利条目保存到Excel中

[1.1 代码实现](#1.1 代码实现)

[1.2 运行结果](#1.2 运行结果)

二、读取文件创建城市、人口、性别比、城镇化率DataFrame对象,计算指标排名,尝试使用plot绘图

[2.1 代码实现](#2.1 代码实现)

[2.2 绘制结果](#2.2 绘制结果)


一、请将所有含有发明家"吴峰"的发明专利的"申请日"打印出来。并将含有"吴峰"的所有发明专利条目保存到Excel中

1.1 代码实现

python 复制代码
# 实验要求:请将  所有含有发明家"吴峰"的发明专利的"申请日"打印出来。并将含有"吴峰"的所有发明专利条目保存到Excel中

# 导入pandas库
import pandas as pd

# 从 Excel 读取数据
df = pd.read_excel("实验课数据1.xlsx")

# 筛选出含有发明家"吴峰"的发明专利的"申请日"
filed_df = df[df["发明人"].str.contains("吴峰")]

# 打印含有发明家"吴峰"的发明专利的"申请日"
print(filed_df[["申请日"]])

# 保存含有"吴峰"的所有发明专利条目到 Excel 中
filed_df.to_excel("含有'吴峰'的发明专利.xlsx", index=False)

1.2 运行结果

(1)原数据"实验课数据1.xlsx"

(2)筛选后的结果

(申请号不一样的原因是系统自动转换的结果)

(3)打印申请日

二、读取文件创建城市、人口、性别比、城镇化率DataFrame对象,计算指标排名,尝试使用plot绘图

2.1 代码实现

python 复制代码
# 实验要求:读取文件创建城市、人口、性别比、城镇化率DataFrame对象,计算指标排名,尝试使用plot绘图
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

# 设置字体
plt.rcParams['font.family'] = ['Arial Unicode MS']

# data=pd.read_excel('江西省2021年人口普查.xlsx ', engine='openpyxl')
# 创建包含城市、人口、性别比、城镇化率的 DataFrame,江西省不属于城市,不放入考虑范围
data = {
    '城市': ['南昌市', '景德镇市', '萍乡市', '九江市', '新余市', '鹰潭市', '赣州市', '吉安市', '宜春市', '抚州市', '上饶市'],
    '年末常住人口(万人)': [643.75, 162.06, 180.59, 456.07, 120.21, 115.5, 898, 442.51, 497.11, 357.94, 643.67],
    '总人口性别比(女性=100)': [109.98, 107.77, 103.8, 105.56, 109.45, 107.73, 106.02, 106.73, 107.04, 107.22, 106.71],
    '常住人口城镇化率(%)': [78.64, 65.94, 68.77, 62.15, 74.14, 65.43, 56.35, 53.41, 57.38, 57.96, 55.31]
}

df = pd.DataFrame(data)
print(df)
# 计算指标排名
df['人口排名'] = df['年末常住人口(万人)'].rank(ascending=False)
df['性别比排名'] = df['总人口性别比(女性=100)'].rank(ascending=True)
df['城镇化率排名'] = df['常住人口城镇化率(%)'].rank(ascending=False)

# 可视化数据
plt.figure(figsize=(12, 6))
plt.show()

# 每个部分设置不同的颜色
plt.subplot(1, 3, 1)
df[['城市', '人口排名']].set_index('城市').plot(kind='bar', color='skyblue')
plt.title('人口排名')
plt.show()

plt.subplot(1, 3, 2)
df[['城市', '性别比排名']].set_index('城市').plot(kind='bar', color='salmon')
plt.title('性别比排名')
plt.show()

plt.subplot(1, 3, 3)
df[['城市', '城镇化率排名']].set_index('城市').plot(kind='bar', color='lightgreen')
plt.title('城镇化率排名')

plt.tight_layout()
plt.show()

2.2 绘制结果

(1)创建的DataFrame对象

(2)然后进行指标排名,绘图结果如下

I 按照人口排名

绘制结果如下,由于是根据人口排名而不是人口数量进行柱状图绘制,因此可以很直观的看出赣州市的人口数量最多;相反,鹰潭市的人口数量最少。

II 按照性别比排名

由上述图形可以看出,萍乡市的性别比排名第一,而南昌市则是最后一名。

III 按照城镇化率排名

由上图可以看出南昌市的城镇化率是全省最高的,而吉安的城镇化率则居全省末尾。


期末加油!

相关推荐
喵手3 分钟前
Python爬虫实战:城市停车收费标准自动化采集系统 - 让停车费透明化的技术实践(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·城市停车收费标准·采集城市停车收费数据·采集停车数据csv文件导出
无水先生4 分钟前
python函数的参数管理(01)*args和**kwargs
开发语言·python
py小王子5 分钟前
dy评论数据爬取实战:基于DrissionPage的自动化采集方案
大数据·开发语言·python·毕业设计
Pyeako7 分钟前
opencv计算机视觉--LBPH&EigenFace&FisherFace人脸识别
人工智能·python·opencv·计算机视觉·lbph·eigenface·fisherface
小陶的学习笔记12 分钟前
python~基础
开发语言·python·学习
多恩Stone12 分钟前
【3D AICG 系列-9】Trellis2 推理流程图超详细介绍
人工智能·python·算法·3d·aigc·流程图
ID_1800790547313 分钟前
Python结合淘宝关键词API进行商品价格监控与预警
服务器·数据库·python
玄同76518 分钟前
Python 自动发送邮件实战:用 QQ/163 邮箱发送大模型生成的内容
开发语言·人工智能·python·深度学习·机器学习·邮件·邮箱
岱宗夫up19 分钟前
神经网络(MLP)在时间序列预测中的实践应用
python
我的xiaodoujiao19 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 46--撰写 README项目说明文档文件
python·学习·测试工具·pytest