当前位置: 首页 > news >正文

python-数据分析与可视化基础

1、data1.csv中的B、C、D和E列数据分别是日期、权重、A企业的销售额、B企业的销售额。读取C、D、E列数据,并统计E列数据的算术平均数、加权平均值(权值为C列数据)、方差、中位数、最小值、最大值。并绘制E列数据的直方图。

(1)源代码:

import numpy as npimport matplotlib.pyplot as pltC, D, E = np.loadtxt("data1.csv", delimiter=',', usecols=(2, 3, 4), unpack=True, skiprows=1)sum1 = np.sum(E)print("E企业的销售额总和:", sum1)mean1 = np.mean(E)print("E企业的销售额的算术平均数:", mean1)wavg1 = np.average(E, weights=C)print("E企业的销售额的加权平均值为:", wavg1)var1 = np.var(E)print("E企业的销售额的方差为:", var1)media1 = np.median(E)print("E企业的销售额的中位数为:", media1)min1 = np.min(E)print("E企业的销售额的最小值:", min1)max1 = np.max(E)print("E企业的销售额的最大值:", min1)plt.hist(E, bins=10, rwidth=0.8)plt.rcParams['font.sans-serif'] = ['SimHei']plt.xticks(fontsize=15)plt.yticks(fontsize=15)plt.xlabel('E企业的销售额', fontsize=15)plt.ylabel('出现次数', fontsize=15)plt.title('E企业的销售额分布直方图', fontsize=18)plt.show()

(2)运行结果截图 :

2、读取data1.csv文件中的A企业销售额与B企业销售额数据,并计算这些企业数据的协方差矩阵和相关系数矩阵。

(1)源代码:

import numpy as npA, B = np.loadtxt('data1.csv', delimiter=',', usecols=(3, 4), unpack=True, skiprows=1)covAB = np.cov([A, B])relAB = np.corrcoef([A, B])print('A,B企业数据的协方差矩阵为:')print(covAB)print('A,B企业数据的相关系数矩阵为:')print(relAB)

(2) 运行结果截图 :

3、读取 datal.csv文件中A、B、C、D、E,绘制由A列和D列数据关联,以及由A列和E列数据(请将该列值除以120后绘图)关联的两条折线图,并分别赋以不同的颜色和线型,添加图例。

(1)源代码

import numpy as npimport matplotlib.pyplot as plts, a, b = np.loadtxt('data1.csv' , delimiter=',' ,usecols=(0 , 3 , 4), unpack=True , skiprows=1)plt.plot(s, a,'r*--',alpha=0.5,linewidth=1,label='A企业')plt.plot(s,b/120,'go--',alpha=0.5,linewidth=1, label='B企业')plt.rcParams['font.sans-serif']=['SimHei']plt.legend()plt.xlabel('时间')plt.ylabel('销售额')plt.title('A企业与B企业销售额走势图')plt.show()

(2)运行结果截图

4、针对data1.csv中A企业的销售额,使用简单移动平均方法估计各月的销售额。移动平均间隔为3,即用1、2、3三周的数据预测第4周的数据。

(1)源代码

import numpy as npimport matplotlib.pyplot as plta= np.loadtxt('data1.csv',delimiter=',',usecols=3, unpack=True , skiprows=1)winwide =3weight = np.ones(winwide)/winwideplt.rcParams['font.sans-serif']=['simHei']aM = np.convolve(weight,a)t = np.arange(winwide-1,len(a))plt.figure(figsize=(15,10))plt.subplot(1,2,1)plt.plot(t,a[winwide-1:],lw=1.0,label='实际A企业的销售额')plt.plot(t, aM[winwide-1:1-winwide],lw=3.0, label='A企业销售额的移动平均值')plt.xticks(fontsize=15)plt.yticks(fontsize=15)plt.grid()plt.title('A企业销售额',fontsize=18)plt.legend(fontsize=10)plt.subplots_adjust(wspace=0.2)plt.show()

(2)运行结果截图

5.使用指数移动平均方法估计上题的A企业的销售额。移动平均间隔为3。并请添加图、坐标轴标题和图例。

(1)源代码

import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']volume = np.loadtxt('data1.csv',delimiter=',',usecols=3, unpack=True, skiprows=1)winwide = 3print('0bservation:\n',volume)t= np.arange(winwide-1,len(volume))print('time:\n',t)weights = np.exp(np.linspace(-1,0,winwide))weights /= weights.sum()print('weights:\n',weights)weightMovingAVG =np.convolve(weights,volume)print('Prediction:\n',weightMovingAVG)plot1 = plt.plot(t,volume[winwide-1:],lw=1.0)plot2 = plt.plot(t, weightMovingAVG[winwide-1:1-winwide], lw=2.0)plt.title('A销售额指数移动平均',fontsize=18)plt.xticks(fontsize=15)plt.yticks(fontsize=15)plt.xlabel('时间顺序',fontsize=15)plt.ylabel('A企业销售额',fontsize=15)plt.legend((plot1[0],plot2[0]),('真实值','指数移动平均值'),loc='upper right',fontsize=13,numpoints=1)plt.show()

(2)运行结果截图

相关文章:

  • 已有yarn集群部署spark
  • hot100 -- 回溯(上)
  • 利用Python去除PDF水印
  • 前端基础入门三大核心之HTML篇:深入理解重绘与重排 —— 概念、区别与实战演练
  • vue 纵向滚动菜单, 点击滚动到选中菜单
  • 【项目托管git】本地项目托管到 Gitee
  • 机器学习-决策树算法
  • IDEA连接MySQL后如何管理数据库
  • JavaSE——类和对象(二)~~封装
  • 光耦合器的特性和应用概述
  • Mac电脑太卡了怎么办 Mac电脑常见问题 cleanmymacX有必要买吗
  • tensorflow下载
  • 编一个自己的万年历
  • 接口使用实例——数组排序
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • [译]前端离线指南(上)
  • angular2 简述
  • exif信息对照
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript新鲜事·第5期
  • Mocha测试初探
  • node.js
  • rc-form之最单纯情况
  • windows-nginx-https-本地配置
  • 编写符合Python风格的对象
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 老板让我十分钟上手nx-admin
  • 用jQuery怎么做到前后端分离
  • MPAndroidChart 教程:Y轴 YAxis
  • 阿里云服务器购买完整流程
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​香农与信息论三大定律
  • #Java第九次作业--输入输出流和文件操作
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #stm32整理(一)flash读写
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (k8s)kubernetes集群基于Containerd部署
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (第27天)Oracle 数据泵转换分区表
  • (二)hibernate配置管理
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (南京观海微电子)——COF介绍
  • (区间dp) (经典例题) 石子合并
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转载)hibernate缓存
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Remoting学习笔记(三)信道
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET 中创建支持集合初始化器的类型
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NetCore 如何动态路由
  • .NET程序员迈向卓越的必由之路
  • .NET轻量级ORM组件Dapper葵花宝典