文章目录

  • 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数据分析初学之分析表格相关推荐

  1. 【详解】Python数据分析第三方库分析

    Python数据分析第三方库分析 目录 Python数据分析第三方库分析 @常用库下载地址 1 Numpy 2 Matplotlib 3 Pandas 4 SciPy 5 Scikit-Learn 6 ...

  2. python数据分析初学

    PYTHON数据分析小白学习 1.numpy 接下面将从这5个方面来介绍numpy模块的内容: 1)数组的创建 2)有关数组的属性和函数 3)数组元素的获取–普通索引.切片.布尔索引和花式索引 4)统 ...

  3. python数据分析的交叉分析和分组分析 -第三次笔记

    python数据分析 -第三次笔记 –1.交叉分析 –2.分组分析 1.交叉分析 交叉分析的含义是在纵向分析法和横向分析法的基础上,从交叉.立体的角度出发,由浅入深.由低级到高级的一种分析方法.这种方 ...

  4. Python数据分析之探索性分析(多因子复合分析)

    目录 一.假设检验: 二.交叉分析 1.分析属性与属性之间关系的方法 2.透视表 三.分组与钻取: 四.相关分析 1.相关系数分析 2.熵:条件熵:互信息(熵增益):增益率:基尼系数: 3.衡量离散数 ...

  5. Python数据分析——基金定投收益率分析,以及支付宝“慧定投”智能定投实现

    文章目录 一.关于基金定投 数据来源 接口规范 常见指数基金/股票代码 二.分析目标 三.代码实现 1.定义获取数据.清洗数据的函数 2.定义定投策略函数 3.计算2019年对沪深300指数基金进行定 ...

  6. python数据比例_#python# #数据分析# 性别比例分析

    手头有一份性别比例的样本数据,清洗后只保留了性别信息,做了一个数据分析. 数据清洗和数据统计的代码就不贴了,贴性别比例pie图和性别比例趋势图的代码. 性别比例pie图: def _plot_gend ...

  7. 【Pandas数据处理100例目录】Python数据分析玩转Excel表格数据

    前言 大家好,我是阿光. 本专栏整理了<Pandas数据分析处理>,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据. 正在更新中~ ✨

  8. python数据分析之对比分析

    对比分析 概念:两个互相联系的指标进行比较 类型:绝对数比较(相减) .相对数比较(相除) 其中相对数比较分析也包括:结构分析.比例分析.动态对比分析 1.绝对数比较 a.对比的指标在量级上不能差别过 ...

  9. Python数据分析项目:分析世界五百强企业数据

    前言 嗨喽!大家好,这里是魔王~ 哪个国家的世界五百强企业数量最多? 今天带你用python来处理数据,并实现数据可视化,解决对现有数据产生的疑问. 本次代码是在 Jupyter Notebook 里 ...

最新文章

  1. R语言ggplot2可视化:修改已经创建的ggplot2可视化对象进行自定义的修改、使用ggplot_build函数更改已经创建的可视化结果
  2. 全面改用HTML5+CSS3来架构
  3. linux 字符串string操作(截取、提取、长度计算等)
  4. qemu模拟armlinux执行目标文件系统的可执行文件
  5. fcntl函数之文件锁 F_SETLK
  6. 敏捷数据科学pdf_敏捷数据科学数据科学可以并且应该是敏捷的
  7. c语言int转字符串_C语言零基础入门-指针-05
  8. 查看游戏服务器ip地址网站,如何查看游戏服务器IP地址
  9. Dubbo底层采用Socket进行通信详解
  10. Android控件Gallery3D效果
  11. 【转】C# HttpWebRequest提交数据方式
  12. 几道比较难的SQL题
  13. SQL查看存储过程相关信息
  14. 数字电子技术基础 数电 第六版 课后答案(全)
  15. 经典五子棋游戏项目需求文档【软件工程课程作业】
  16. 有关人工智能方面的调研报告
  17. 1013: 【顺序结构】数字各位分割
  18. 短期出差北京个人所见所闻所感
  19. 2021年湖北省区块链技术应用创新创业大赛已正式启动,欢迎报名参赛
  20. Oracle Net Services 配置失败。退出代码是1 参数responsefile = Oracle Net Configuration Assistant 在给定位置找不到响应文件。

热门文章

  1. 低版本 android 软件下载,触漫旧版本下载
  2. 从另一个角度去解读Blinker,剖析精简源码,学习开源精神,菜鸟哥还是忍不住对它下手了
  3. python解析xml生成代码_python:有没有实现为生成器的XML解析器?
  4. 《历史的教训》读后感
  5. 程序人生 Hello’s P2P
  6. 再见SpringMVC!java语言程序设计第三版答案郎波
  7. 【web-渗透测试方法】(15.6)测试基于输入的漏洞
  8. 自学SAP的一些建议
  9. 16GB内存神奇玩法大全【@电脑报】
  10. 关于《Foxit Phantom的完美破解》的一点补充——打印驱动破解