Python数据分析初学之分析表格
文章目录
- Python数据分析初学之分析表格
- 任务要求
- 代码实现
Python数据分析初学之分析表格
任务要求
1)使用 pandas 读取文件 data.csv 中的数据 ,创建 DataFrame 对象,并删除其中所有缺失值;
2)使用 matplotlib 生成折线阁,反应该饭店每天的营业额情况,并把图形保存为本 地文件first.png ;
3)按月份进行统计,使用matplotlib绘制柱状图显示每个月份的营业额,并把图形保存为本地文件second.png;
4)按月份进行统计,找出相邻两个月最大涨幅,并把涨幅最大的月份写入文件maxMonth.txt;
5)按季度统计该饭店2017年的营业额数据,使用matplotlib生成饼状图显示2017年4个季度的营业额分布情况,并把图形保存为本地文件third.png。
代码实现
import pandas as pd
import numpy as np
import matplotlib
from matplotlib import pyplot as plt
# 显示所有列
pd.set_option('display.max_columns', None)
# 显示所有行
pd.set_option('display.max_rows', None)
# 设置value的显示长度为100,默认为50
pd.set_option('max_colwidth',100)
# 读取销售统计文件
df = pd.read_csv("./data.csv", encoding='gbk')
matplotlib.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong'] # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
matplotlib.rcParams['font.size'] = 12 # 字体大小
matplotlib.rcParams['axes.unicode_minus'] = False # 正常显示负号
# 绘制折线图统计
date = df["日期"]
num = df["销量"]
plt.title("销量折线图")
plt.xlabel("日期")
plt.ylabel("销量")
plt.plot(date, num)
plt.savefig("first.png")
# plt.show()
plt.clf()
# 绘制月份柱状图 map函数接收lambda表达式所描述的方法对df‘日期’执行,获取每行对应月份
df["月份"] = df['日期'].map(lambda x: x[:x.rfind('-')])
df_month = df.groupby("月份").sum()
df_month.plot.bar(title="销量-月份柱状图", xlabel="月份", ylabel="销量")
plt.savefig("second.png")
# plt.show()
change = df_month.diff()
# argmax()用于Series对象,返回最大值的索引序列,idxmax()用于Dataframe对象,返回
max_diff_month = change["销量"].argmax() + 1
print(f"销量增长最大的月份是:{max_diff_month}")
# 将增长最大的月份写入文件
f = open('./maxMonth.txt', 'w+')
f.write(f"销量增长最大的月份是:{max_diff_month}")
f.close()
# 绘制柱状图
# 切片按列求和,统计季度总销量
one = df_month[:3]["销量"].sum()
two = df_month[3:6]["销量"].sum()
three = df_month[6:9]["销量"].sum()
four = df_month[9:12]["销量"].sum()
# 绘图
plt.clf()
plt.pie([one, two, three, four], labels=["one", "two", "three", "four"], autopct='%.3f%%')
plt.savefig("./third.png")
plt.show()
data.csv数据表格(截取部分):
日期,销量2017-01-01,3892017-01-02,3382017-01-03,3952017-01-04,3612017-01-05,3292017-01-06,3342017-01-07,3342017-01-08,3492017-01-09,3642017-01-10,3992017-01-11,3522017-01-12,4392017-01-13,4412017-01-14,3742017-01-15,4602017-01-16,3922017-01-17,4192017-01-18,4532017-01-19,4832017-01-20,4682017-01-21,4052017-01-22,4562017-01-23,4472017-01-24,471
Python数据分析初学之分析表格相关推荐
- 【详解】Python数据分析第三方库分析
Python数据分析第三方库分析 目录 Python数据分析第三方库分析 @常用库下载地址 1 Numpy 2 Matplotlib 3 Pandas 4 SciPy 5 Scikit-Learn 6 ...
- python数据分析初学
PYTHON数据分析小白学习 1.numpy 接下面将从这5个方面来介绍numpy模块的内容: 1)数组的创建 2)有关数组的属性和函数 3)数组元素的获取–普通索引.切片.布尔索引和花式索引 4)统 ...
- python数据分析的交叉分析和分组分析 -第三次笔记
python数据分析 -第三次笔记 –1.交叉分析 –2.分组分析 1.交叉分析 交叉分析的含义是在纵向分析法和横向分析法的基础上,从交叉.立体的角度出发,由浅入深.由低级到高级的一种分析方法.这种方 ...
- Python数据分析之探索性分析(多因子复合分析)
目录 一.假设检验: 二.交叉分析 1.分析属性与属性之间关系的方法 2.透视表 三.分组与钻取: 四.相关分析 1.相关系数分析 2.熵:条件熵:互信息(熵增益):增益率:基尼系数: 3.衡量离散数 ...
- Python数据分析——基金定投收益率分析,以及支付宝“慧定投”智能定投实现
文章目录 一.关于基金定投 数据来源 接口规范 常见指数基金/股票代码 二.分析目标 三.代码实现 1.定义获取数据.清洗数据的函数 2.定义定投策略函数 3.计算2019年对沪深300指数基金进行定 ...
- python数据比例_#python# #数据分析# 性别比例分析
手头有一份性别比例的样本数据,清洗后只保留了性别信息,做了一个数据分析. 数据清洗和数据统计的代码就不贴了,贴性别比例pie图和性别比例趋势图的代码. 性别比例pie图: def _plot_gend ...
- 【Pandas数据处理100例目录】Python数据分析玩转Excel表格数据
前言 大家好,我是阿光. 本专栏整理了<Pandas数据分析处理>,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据. 正在更新中~ ✨
- python数据分析之对比分析
对比分析 概念:两个互相联系的指标进行比较 类型:绝对数比较(相减) .相对数比较(相除) 其中相对数比较分析也包括:结构分析.比例分析.动态对比分析 1.绝对数比较 a.对比的指标在量级上不能差别过 ...
- Python数据分析项目:分析世界五百强企业数据
前言 嗨喽!大家好,这里是魔王~ 哪个国家的世界五百强企业数量最多? 今天带你用python来处理数据,并实现数据可视化,解决对现有数据产生的疑问. 本次代码是在 Jupyter Notebook 里 ...
最新文章
- R语言ggplot2可视化:修改已经创建的ggplot2可视化对象进行自定义的修改、使用ggplot_build函数更改已经创建的可视化结果
- 全面改用HTML5+CSS3来架构
- linux 字符串string操作(截取、提取、长度计算等)
- qemu模拟armlinux执行目标文件系统的可执行文件
- fcntl函数之文件锁 F_SETLK
- 敏捷数据科学pdf_敏捷数据科学数据科学可以并且应该是敏捷的
- c语言int转字符串_C语言零基础入门-指针-05
- 查看游戏服务器ip地址网站,如何查看游戏服务器IP地址
- Dubbo底层采用Socket进行通信详解
- Android控件Gallery3D效果
- 【转】C# HttpWebRequest提交数据方式
- 几道比较难的SQL题
- SQL查看存储过程相关信息
- 数字电子技术基础 数电 第六版 课后答案(全)
- 经典五子棋游戏项目需求文档【软件工程课程作业】
- 有关人工智能方面的调研报告
- 1013: 【顺序结构】数字各位分割
- 短期出差北京个人所见所闻所感
- 2021年湖北省区块链技术应用创新创业大赛已正式启动,欢迎报名参赛
- Oracle Net Services 配置失败。退出代码是1 参数responsefile = Oracle Net Configuration Assistant 在给定位置找不到响应文件。