实验:Python图形图像处理
2024-09-07 20:13:24
1. 准备一张照片,编写Python程序将该照片进行图像处理,分别输出以下效果的图片:(a)灰度图;(b)轮廓图;
(c)变换RGB通道图;(d)旋转45度图。
2. 假设当前文件夹中data.csv文件中存放了2020年某饭店营业额,第一列为日期(如2020-02-03),第二列为每天交易额(如3560),文件中第一行为表头,其余行为实
际数据。编写程序,完成下面的任务,要求对结果图形进行适当的美化:
(1)使用pandas读取文件data.csv中的数据,创建DataFrame对象,并删除其中所有的缺失值;
(2)绘制第1个月的营业额折线图,反映饭店每天的营业额情况,并把图形保存为本地文件day.jpg;
(3)按月份进行统计,绘制柱状图显示每个月份的营业额,并把图形保存为本地文件month.jpg;
(4)按季度统计该饭店2020年的营业额数据,绘制饼状图显示4个季度的营业额分布情况,并把图形保存为本地文件quarter.jpg。
1. 准备一张照片编写Python程序将该照片进行图像处理,分别输出以下效果的图片:(a)灰度图;(b)轮廓图;
# (c)变换RGB通道图;(d)旋转45度图。
from PIL import Image
from PIL import ImageFilter
im = Image.open('1.jpg')
gray = im.convert('L')
rpg = im.convert("RGB")
xz = im.rotate(45)
om = im.filter(ImageFilter.CONTOUR)
gray.save('a.jpg')
om.save('b.jpg')
rpg.save('c.jpg')
xz.save('d.jpg')
# 2. 假设当前文件夹中data.csv文件中存放了2020年某饭店营业额,第一列为日期(如2020-02-03),第二列为每天交易额(如3560),文件中第一行为表头,其余行为实
# 际数据。编写程序,完成下面的任务,要求对结果图形进行适当的美化:
# (1)使用pandas读取文件data.csv中的数据,创建DataFrame对象,并删除其中所有的缺失值;
# (2)绘制第1个月的营业额折线图,反映饭店每天的营业额情况,并把图形保存为本地文件day.jpg;
# (3)按月份进行统计,绘制柱状图显示每个月份的营业额,并把图形保存为本地文件month.jpg;
# (4)按季度统计该饭店2020年的营业额数据,绘制饼状图显示4个季度的营业额分布情况,并把图形保存为本地文件quarter.jpg。
import matplotlib
import pandas
import matplotlib.pyplot as plt matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # pyplot中文显示
df = pandas.read_csv("data.csv", engine='python')
df['日期'] = pandas.to_datetime(df['日期'])
df[['交易额']] = df[['交易额']].astype(float) # 将交易额转换为float类型
df = df.dropna() # 去除缺失行 plt.figure()
df1 = df.head(31) # 取第一个月
df1.plot(x='日期') # 画图,以日期为x轴
plt.savefig('day.jpg') plt.figure()
df2 = df
df2['月份'] = df2['日期'].map(lambda x: x.month) # 提取出月份
df2 = df2.groupby(by='月份', as_index=False).sum() # as_inside=False不把month作为新的index,分组求和
df2.plot(x='月份', kind='bar', y='交易额')
plt.savefig('month.jpg') plt.figure()
one = df2[:3]['交易额'].sum()
two = df2[3:6]['交易额'].sum()
three = df2[6:9]['交易额'].sum()
four = df2[9:12]['交易额'].sum()
plt.pie([one, two, three, four], labels=['第一季度', '第二季度', '第三季度', '第四季度'])
plt.savefig('quarter.jpg')
最新文章
- Spring Boot -- 启动彩蛋
- github打不开
- python 判断 windows 隐藏文件/系统文件
- ANDROID_MARS学习笔记_S03_009_GOOGLEMAP3
- Android开发环境搭建详细图解
- #define const extern
- Spark工作机制简述
- SQL注入详细介绍及如何防范SQL注入式攻击
- DDD理论学习系列(10)-- 聚合
- Troubleshooting Autoinvoice Import
- html详解(三)
- linux驱动由浅入深系列:PBL-SBL1-(bootloader)LK-Android启动过程详解之一(高通MSM8953启动实例)
- 兼容性 memo
- 使用C#进行应用程序间通信(WPF与Unity通信)
- 审核流(1)SNF.WorkFlow审核流简介--SNF快速开发平台3.1
- 不要在对抽象类接口abstract virtual什么的混淆不清了
- 《OpenCL异构并行编程实战》第十二至十四章
- liunx 命令大全
- Set的总结
- RocketMQ消息发送的队列选择与容错策略