Python数据特征分析_02(相关系数,帕累托定律,周期性)

简介: 探索某个变量是否随着时间变化而呈现出某种周期性变化的趋势。时间尺度相对较长的周期性趋势有:年度周期性趋势,季节性周期性趋势,相对较短的有月度周期性趋势,周度周期性趋势,甚至更短的天,小时的周期性趋势。

一、周期性分析



探索某个变量是否随着时间变化而呈现出某种周期性变化的趋势。时间尺度相对较长的周期性趋势有:年度周期性趋势,季节性周期性趋势,相对较短的有月度周期性趋势,周度周期性趋势,甚至更短的天,小时的周期性趋势。


import pandas as pd
import matplotlib.pyplot as plt
df_normal=pd.read_excel("D:/S072003Python/05DataMineML/catering_sale.xls")#读入数据
plt.figure(figsize=(20,9))
plt.plot(df_normal["日期"],df_normal["销量"])
plt.xlabel("日期")
plt.ylabel("销量")
# 设置x轴刻度间隔
x_major_locator = plt.MultipleLocator(7)
ax = plt.gca()
ax.xaxis.set_major_locator(x_major_locator)
plt.title("销售趋势")
plt.xticks(rotation=30)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.show()  # 展示图片
# 不正常销售趋势分析 - 这里的异常数据其实是使用随机数伪造出来的
df_abnormal = pd.read_excel("D:/S072003Python/05DataMineML/catering_sale (2).xls")
plt.figure(figsize=(20, 9))
plt.xticks(rotation=30)
plt.plot(df_abnormal["日期"],df_abnormal["销量2"]-np.random.randint(1000))  #随机数 np.rand
plt.xlabel("日期")
plt.ylabel("销量2")
# 设置x轴刻度间隔
x_major_locator = plt.MultipleLocator(7)
ax = plt.gca()
ax.xaxis.set_major_locator(x_major_locator)
plt.title("不正常销量趋势")
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.show()  # 展示图片

b5617febbfa54b2db17420117fcd6ef7.png


二、贡献性分析



45dc254c7242436f871ec2d5b3658832.png

取出到2022年4月3号为止,每个人累计总销售业绩,并进行排序

dfsort=df['20220403']
dfsort2=dfsort.copy()
dfsort2.sort_values(ascending=False,inplace=True)
dfsort2

96911319fbaa44839b2207f781de3313.png

plt.figure(figsize=(20,10))
dfsort2.plot(kind='bar',color='g',alpha=0.6,width=0.7)
plt.ylabel('销售业绩')

dd3f753dd6e6454d93640ec4c43deef3.png

根据帕累托法则,我们需要找出贡献度80%的员工,那么这些员工就是努力工作的员工,当80%这条线越靠近右边,则说明努力的员工越多。如果线越靠近左边,则说明大部分员工的贡献度都很低,根据不同的情况,公司的人力资源管理就需要有不同的解决方法。

8d4f45bafae24d59826bc879f890d4dd.png

#计算出累计占比和超过80%的节点的索引位置
p=dfsort2.cumsum()/dfsort2.sum()
key=p[p>0.8].index[0]
key_num=dfsort2.index.tolist().index(key)
key_num
e6a124893aa74633bca0c1bd7700f760.png

绘图:

plt.figure(figsize=(20,10))
dfsort2.plot(kind='bar',color='g',alpha=0.6,width=0.7)
plt.ylabel('时长_分钟')
p.plot(style='--ko',secondary_y=True)
plt.axvline(key_num,color='r',linestyle='--')
# plt.text(key_num+0.5,p[key],'累计占比为:%.3f%%' % (p[key]*100),color='r')
plt.annotate(format(p[key_num],'.2%'),xy=(key_num,p[key_num]),xytext=(22,p[key_num]*0.9),arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=0.5"))
# dfsort2.plot(kind='bar',color='g',alpha=0.6,width=0.7)
plt.ylabel('时长_占比')

ff430379b0b84040938fbde98a535f1c.png


三、相关性分析



1、探究不同菜品之间的相关性


还是拿餐饮的菜品,来分析不同菜品之间是否存在相关性。

f21464d7d8f54dc8b74cb9faf4157044.png

a=catdf.corr()
b=catdf.corr()['生炒菜心']
b

就类似于推荐系统,通过相关性分析,可以为用户继续推荐(想到了淘宝的猜你喜欢(≧∇≦)ノ)

f9e65eba3abd42bcbcee80e669d244c1.png


2、探究不同学生之间的相关性


选取十名同学的学习时长,看看同学直接是否有影响。

4531a33697074482ac0174e6027ceb3a.png

#数据集太大会导致耗时过长,调整切片
pd.plotting.scatter_matrix(dfddiffT.iloc[:,1:10],figsize=(12,12),
                          c='k',
                          marker='+',
                          diagonal='hist',
                          alpha=0.8,
                          range_padding=0.1)
e219168c62f9429987cd7f1929ebb5ad.png


相关文章
|
5月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
5月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
3141 1
|
5月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
610 0
|
5月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
5月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
5月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
5月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
812 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
413 104

推荐镜像

更多