数据分析示例-python

news2025/1/12 23:04:02

数据分析示例-python

今天呢,博主把之前做过的一个小课题拿出来展示一下,当然这个课题呢做的工作量很大,也用到了很多可以参考的技术和代码,做数据分析工作的可以尝试学习学习。
这篇博客,我们先从数据集开始介绍。
对了数据集,我会上传到,我的资源,如果下载不了的可以私聊我。
数据集是两个csv文件,一个是data.csv,一个是predict.csv,第一个文件data.csv包含了三个抖音直播间的相关数据
列如:‘索引’,“自然流量详情”,“付费流量详情”,“UV价值”,“新增评论数”,“时间”,“新增粉丝数”,“离开人数”,“新加团人数”,“成交金额”,“在线人数”,
“进入人数”,“成交订单数”,“成交人数”,“企业唯一标识”。
在这里插入图片描述这个从英文名就可以猜到每一列的一个信息。
对于predict.csv这个文件,这个文件呢,比data.csv少了一个企业标识符:
‘索引’,“自然流量详情”,“付费流量详情”,“UV价值”,“新增评论数”,“时间”,“新增粉丝数”,“离开人数”,“新加团人数”,“成交金额”,“在线人数”,
“进入人数”,“成交订单数”,“成交人数”,说明predict是一个直播间的数据。
在这里插入图片描述
下面我们数据中的信息:
首先我们能需要先读取数据:


#导入数据,编码方式为utf-8,每个字段的分割符为一个tab
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import os
import time
import statsmodels.api as sm
from scipy import stats
from statsmodels.tsa.arima.model import ARIMA
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题




name_data=['索引',"自然流量详情","付费流量详情","UV价值","新增评论数","时间","新增粉丝数","离开人数","新加团人数","成交金额","在线人数",
"进入人数","成交订单数","成交人数","企业唯一标识"]
name_predict=['索引',"自然流量详情","付费流量详情","UV价值","新增评论数","时间","新增粉丝数","离开人数","新加团人数","成交金额","在线人数",
"进入人数","成交订单数","成交人数"]
data=pd.read_csv(r"C:\Users\gaoxi\Desktop\data\data\data.csv",encoding="utf-8",names=name_data)
predict=pd.read_csv(r"C:\Users\gaoxi\Desktop\data\data\predict.csv",encoding="utf-8",names=name_predict)

之后我们可以查看数据集的相关基本信息:

#查看数据集的基本信息

print(data.columns)
print(data.info())
print(predict.info())

print(data.head())
print(predict.head())

下面我们对数据进行处理,因为数据的质量比较高,所以数据处理部分的工作比较少,代码如下:



#数据类型转化
column_data=data.columns.tolist()
remove=['索引',"自然流量详情","付费流量详情","时间"]

for i in remove:
        column_data.remove(i)
for i in column_data:
        data[i]=data[i].astype('float')
column_pre=predict.columns.tolist()

for i in remove:
        column_pre.remove(i)
for i in column_pre:
        predict[i]=predict[i].astype('float')
#时间格式类型转化      
data["时间"] = pd.to_datetime(data["时间"])

predict["时间"] = pd.to_datetime(predict["时间"])
#缺失值处理
print(data.info())
print(predict.info())
data=data.dropna()
print(data.info())

#print(data["时间"])
#因为只有data有缺失值,而且只有几条,所以我们可以进行直接删除,不影响后续数据分析
#异常值处理

好的,之后,我们即可进行相关信息挖掘:

下面是特征箱型图的绘制代码:



def plot1():
   
   
    #异常值是指远远偏离整个样本总体的观测值;异常值我们通常采用箱线图来处理,处在上下限之外的数据都都属于异常值
    for j in range(1,4):
        plt.figure(figsize=(80,60))
       
  
        for i in range(len(column_data)):
            if column_data[i]=='企业唯一标识' :
              continue
            plt.subplot(4,4,i+1)#将画布分割为6行8列
            sns.boxplot(data[data['企业唯一标识']==j][column_data[i]],orient="v",width=0.5)#每一个小区域画出箱型图
        #    plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel
    
    
        plt.show()

    plt.figure(figsize=(80,60))
   
 

    for i in range(len(column_pre)):
        plt.subplot(4,4,i+1)#将画布分割为6行8列
        sns.boxplot(predict[column_pre[i]],orient="v",width=0.5)#每一个小区域画出箱型图
       # plt.xlabel(column_pre[i],fontsize=12)#x轴的注释为xlabel
    
    plt.show()

    #经过箱型图分析,我们发现直播间各种流量箱型图都极为不稳定。所以可能,本身就不存在异常值,跟这个直播的性质有关,可能那天有个
    #比较著名的人突然来直播间就会带动各种流量,所以我们要特殊问题特殊分析,不需要进行异常值删除
plot1()

结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可从箱型图中提取相关价值,这里博主就不说了,只是给与大家代码参考。

下面是QQ图绘制,使得我们更好的了了解数据的分布:


#数据分布分析
#直方图和QQ图
#QQ图是指数据的分位数和正态分布的分位数对比参照的图,如果数据符合正态分布,所有的点都会落在直线上。
#我们首先绘制V0变量的统计分布
def plot2():
    for j in range(1,4):
        plt.figure(figsize=(80,60))
        p=1
        for i in range(len(column_data)):
            if column_data[i]=='企业唯一标识' :
              continue
            plt.subplot(6,4,p)#将画布分割为6行8列
            p=p+1
   
            stats.probplot(data[data['企业唯一标识']==j][column_data[i]],plot=plt)
            plt.xlabel(' ')#x轴的注释为xlabel
            plt.title(" ")#x轴的注释为xlabel
            plt.subplot(6,4,p)
            p=p+1
            df=data[data['企业唯一标识']==j][column_data[i]]
            print(df)
            sns.distplot(df,fit=stats.norm)#fit=stats.norm代表标准正态分布
    
            #plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel

        plt.show()
    plt.figure(figsize=(80,60))
    p=1
    for i in range(len(column_pre)):
            plt.subplot(6,4,p)#将画布分割为6行8列
            p=p+1
    
   
            stats.probplot(predict[column_pre[i]],plot=plt)
            plt.xlabel(' ')#x轴的注释为xlabel
            plt.title(" ")#x轴的注释为xlabel
            plt.subplot(6,4,p)
            p=p+1
            sns.distplot(predict[column_pre[i]],fit=stats.norm)#fit=stats.norm代表标准正态分布
    
            #plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel

    plt.show()
plot2()

绘图结果如下:
在这里插入图片描述
在这里插入图片描述

为什么会有多个图呢,因为不同的企业,我们要分开处理。

下面我们绘制不同企业数据的走势图:


def plot3():
   
    for j in range(1,4):
        plt.figure(figsize=(80,60))
        plt.title("X轴为时间 Y轴为流量")
        p=1
        for i in range(len(column_data)):
            if column_data[i]=='企业唯一标识' :
              continue
            plt.subplot(3,4,p)#将画布分割为6行8列
            p=p+1
   
            plt.plot(data[data['企业唯一标识']==j]['时间'],data[data['企业唯一标识']==j][column_data[i]])
            plt.xlabel(' ',fontsize=5)#x轴的注释为xlabel
            plt.xticks(rotation=30)
      #      plt.title(column_data[i])#x轴的注释为xlabel
         
            #plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel

      #  plt.show()
  
    plt.figure(figsize=(80,60))
    p=1
    for i in range(len(column_pre)):
        plt.subplot(3,4,p)#将画布分割为6行8列
        p=p+1
    
        plt.plot(predict['时间'],predict[column_pre[i]])
        #stats.probplot(predict[column_pre[i]],plot=plt)
        plt.xlabel(' ')#x轴的注释为xlabel
        plt.xticks(rotation=30)
        plt.title(" ")#x轴的注释为xlabel
       # plt.subplot(6,4,p)
        #p=p+1
        #plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel

    plt.show()


plot3()

绘图结果如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
现在,我们绘制各个特征之间的相关系数热力图:



def corr_mattrix():
    for j in range(1,4):    
        data_corr=data[data['企业唯一标识']==j][column_data[0:len(column_data)-1]].corr()#计算相关系数

        print(data_corr)

        #print(predict_corr)
        #根据相关系数来筛选特征变量
    #找寻K个特征与目标值最相关
        k=10
        cols=data_corr.nlargest(10,'在线人数')['在线人数'].index
        #print("cols.index",cols)
        cm=np.corrcoef(data_corr[cols].values.T)
        plt.figure(figsize=(10,10))
        hm=sns.heatmap(data_corr[cols].corr(),square=True,annot=True)
        print(cm)
        plt.show()
    predict_corr=predict[column_pre].corr()#计算相关系数
    cols=data_corr.nlargest(10,'在线人数')['在线人数'].index
        #print("cols.index",cols)
    cm=np.corrcoef(data_corr[cols].values.T)
    plt.figure(figsize=(10,10))
    hm=sns.heatmap(data_corr[cols].corr(),square=True,annot=True)
   # print(cm)
    plt.show()


corr_mattrix()

绘图结果如下:
在这里插入图片描述
在这里插入图片描述

现在呢,我们使用arima模型对predict.csv进入直播间人数后几年数据进行预测:



import statsmodels.graphics.tsaplots as sm 
def draw_acf_and_pacf(serise,lag=20):
	# 绘图
	f = plt.figure()
	ax1 = f.add_subplot(211)
	sm.plot_acf(serise, lags=20, ax=ax1)

	ax2 = f.add_subplot(212)
	sm.plot_pacf(serise, lags=20, ax=ax2)
	plt.show()

draw_acf_and_pacf(predict["进入人数"][len(predict["进入人数"])-50:len(predict["进入人数"])])


model = ARIMA(predict["进入人数"][len(predict["进入人数"])-50:len(predict["进入人数"])], order=(3, 0, 3))
model_fit = model.fit()
forest= model_fit.forecast(10)
forest=list(forest)
y=list(predict["进入人数"])
y=y+forest
#y = np.append(y,forest)
x=list(range(len(y)))
   
plt.plot(x,y,lw=1,label='Arima model')
plt.legend()

plt.ylabel('进入人数')
plt.title("进入人数变化趋势图")
plt.show()

plt.plot(x[len(x)-50:len(x)],y[len(x)-50:len(x)],lw=1,label='Arima model')
plt.legend()
plt.xlabel('最后四十次进入人数和预测的十次')
plt.ylabel('进入人数')



plt.title("arima 模型预测结果图")
plt.show()

os.system("pause")

第一张图是自相关系数图和偏自相关系数图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

博主对于代码和数据分析方面相关的内同并没有太多介绍,需要你们自己去多花一些功夫哈。

本篇博客完整代码如下:
数据集,我已上传到我的资源里,修改一下路径即可运行代码。


#导入数据,编码方式为utf-8,每个字段的分割符为一个tab
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import os
import time
import statsmodels.api as sm
from scipy import stats
from statsmodels.tsa.arima.model import ARIMA
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题




name_data=['索引',"自然流量详情","付费流量详情","UV价值","新增评论数","时间","新增粉丝数","离开人数","新加团人数","成交金额","在线人数",
"进入人数","成交订单数","成交人数","企业唯一标识"]
name_predict=['索引',"自然流量详情","付费流量详情","UV价值","新增评论数","时间","新增粉丝数","离开人数","新加团人数","成交金额","在线人数",
"进入人数","成交订单数","成交人数"]
data=pd.read_csv(r"C:\Users\gaoxi\Desktop\data\data\data.csv",encoding="utf-8",names=name_data)
predict=pd.read_csv(r"C:\Users\gaoxi\Desktop\data\data\predict.csv",encoding="utf-8",names=name_predict)
#查看数据集的基本信息

print(data.columns)
print(data.info())
print(predict.info())

print(data.head())
print(predict.head())
#print(data["自然流量详情"])
#数据处理
#需要删除第一行
data=data.drop(index=0)
predict=predict.drop(index=0)

print(data.head())
print(predict.head())



#数据类型转化
column_data=data.columns.tolist()
remove=['索引',"自然流量详情","付费流量详情","时间"]

for i in remove:
        column_data.remove(i)
for i in column_data:
        data[i]=data[i].astype('float')
column_pre=predict.columns.tolist()

for i in remove:
        column_pre.remove(i)
for i in column_pre:
        predict[i]=predict[i].astype('float')
#时间格式类型转化      
data["时间"] = pd.to_datetime(data["时间"])

predict["时间"] = pd.to_datetime(predict["时间"])
#缺失值处理
print(data.info())
print(predict.info())
data=data.dropna()
print(data.info())

#print(data["时间"])
#因为只有data有缺失值,而且只有几条,所以我们可以进行直接删除,不影响后续数据分析
#异常值处理


#把所有特征的箱线图画出来




def plot1():
   
   
    #异常值是指远远偏离整个样本总体的观测值;异常值我们通常采用箱线图来处理,处在上下限之外的数据都都属于异常值
    for j in range(1,4):
        plt.figure(figsize=(80,60))
       
  
        for i in range(len(column_data)):
            if column_data[i]=='企业唯一标识' :
              continue
            plt.subplot(4,4,i+1)#将画布分割为6行8列
            sns.boxplot(data[data['企业唯一标识']==j][column_data[i]],orient="v",width=0.5)#每一个小区域画出箱型图
        #    plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel
    
    
        plt.show()

    plt.figure(figsize=(80,60))
   
 

    for i in range(len(column_pre)):
        plt.subplot(4,4,i+1)#将画布分割为6行8列
        sns.boxplot(predict[column_pre[i]],orient="v",width=0.5)#每一个小区域画出箱型图
       # plt.xlabel(column_pre[i],fontsize=12)#x轴的注释为xlabel
    
    plt.show()

    #经过箱型图分析,我们发现直播间各种流量箱型图都极为不稳定。所以可能,本身就不存在异常值,跟这个直播的性质有关,可能那天有个
    #比较著名的人突然来直播间就会带动各种流量,所以我们要特殊问题特殊分析,不需要进行异常值删除
plot1()

#

#数据分布分析
#直方图和QQ图
#QQ图是指数据的分位数和正态分布的分位数对比参照的图,如果数据符合正态分布,所有的点都会落在直线上。
#我们首先绘制V0变量的统计分布
def plot2():
    for j in range(1,4):
        plt.figure(figsize=(80,60))
        p=1
        for i in range(len(column_data)):
            if column_data[i]=='企业唯一标识' :
              continue
            plt.subplot(6,4,p)#将画布分割为6行8列
            p=p+1
   
            stats.probplot(data[data['企业唯一标识']==j][column_data[i]],plot=plt)
            plt.xlabel(' ')#x轴的注释为xlabel
            plt.title(" ")#x轴的注释为xlabel
            plt.subplot(6,4,p)
            p=p+1
            df=data[data['企业唯一标识']==j][column_data[i]]
            print(df)
            sns.distplot(df,fit=stats.norm)#fit=stats.norm代表标准正态分布
    
            #plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel

        plt.show()
    plt.figure(figsize=(80,60))
    p=1
    for i in range(len(column_pre)):
            plt.subplot(6,4,p)#将画布分割为6行8列
            p=p+1
    
   
            stats.probplot(predict[column_pre[i]],plot=plt)
            plt.xlabel(' ')#x轴的注释为xlabel
            plt.title(" ")#x轴的注释为xlabel
            plt.subplot(6,4,p)
            p=p+1
            sns.distplot(predict[column_pre[i]],fit=stats.norm)#fit=stats.norm代表标准正态分布
    
            #plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel

    plt.show()
plot2()

def plot3():
   
    for j in range(1,4):
        plt.figure(figsize=(80,60))
        plt.title("X轴为时间 Y轴为流量")
        p=1
        for i in range(len(column_data)):
            if column_data[i]=='企业唯一标识' :
              continue
            plt.subplot(3,4,p)#将画布分割为6行8列
            p=p+1
   
            plt.plot(data[data['企业唯一标识']==j]['时间'],data[data['企业唯一标识']==j][column_data[i]])
            plt.xlabel(' ',fontsize=5)#x轴的注释为xlabel
            plt.xticks(rotation=30)
      #      plt.title(column_data[i])#x轴的注释为xlabel
         
            #plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel

      #  plt.show()
  
    plt.figure(figsize=(80,60))
    p=1
    for i in range(len(column_pre)):
        plt.subplot(3,4,p)#将画布分割为6行8列
        p=p+1
    
        plt.plot(predict['时间'],predict[column_pre[i]])
        #stats.probplot(predict[column_pre[i]],plot=plt)
        plt.xlabel(' ')#x轴的注释为xlabel
        plt.xticks(rotation=30)
        plt.title(" ")#x轴的注释为xlabel
       # plt.subplot(6,4,p)
        #p=p+1
        #plt.xlabel(column_data[i],fontsize=12)#x轴的注释为xlabel

    plt.show()


plot3()


def corr_mattrix():
    for j in range(1,4):    
        data_corr=data[data['企业唯一标识']==j][column_data[0:len(column_data)-1]].corr()#计算相关系数

        print(data_corr)

        #print(predict_corr)
        #根据相关系数来筛选特征变量
    #找寻K个特征与目标值最相关
        k=10
        cols=data_corr.nlargest(10,'在线人数')['在线人数'].index
        #print("cols.index",cols)
        cm=np.corrcoef(data_corr[cols].values.T)
        plt.figure(figsize=(10,10))
        hm=sns.heatmap(data_corr[cols].corr(),square=True,annot=True)
        print(cm)
        plt.show()
    predict_corr=predict[column_pre].corr()#计算相关系数
    cols=data_corr.nlargest(10,'在线人数')['在线人数'].index
        #print("cols.index",cols)
    cm=np.corrcoef(data_corr[cols].values.T)
    plt.figure(figsize=(10,10))
    hm=sns.heatmap(data_corr[cols].corr(),square=True,annot=True)
   # print(cm)
    plt.show()


corr_mattrix()

#注意,这里要引入

import statsmodels.graphics.tsaplots as sm 
def draw_acf_and_pacf(serise,lag=20):
	# 绘图
	f = plt.figure()
	ax1 = f.add_subplot(211)
	sm.plot_acf(serise, lags=20, ax=ax1)

	ax2 = f.add_subplot(212)
	sm.plot_pacf(serise, lags=20, ax=ax2)
	plt.show()

draw_acf_and_pacf(predict["进入人数"][len(predict["进入人数"])-50:len(predict["进入人数"])])


model = ARIMA(predict["进入人数"][len(predict["进入人数"])-50:len(predict["进入人数"])], order=(3, 0, 3))
model_fit = model.fit()
forest= model_fit.forecast(10)
forest=list(forest)
y=list(predict["进入人数"])
y=y+forest
#y = np.append(y,forest)
x=list(range(len(y)))
   
plt.plot(x,y,lw=1,label='Arima model')
plt.legend()

plt.ylabel('进入人数')
plt.title("进入人数变化趋势图")
plt.show()

plt.plot(x[len(x)-50:len(x)],y[len(x)-50:len(x)],lw=1,label='Arima model')
plt.legend()
plt.xlabel('最后四十次进入人数和预测的十次')
plt.ylabel('进入人数')



plt.title("arima 模型预测结果图")
plt.show()

os.system("pause")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/501854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GSAP - 一款基于 JavaScript 的 web 动画库,简单几行代码就能写出丝滑流畅、高性能的动画效果

使用简单,但做出来的动画非常丝滑,也能实现很多专业的动画效果,推荐给大家。 关于 GSAP GSAP 的全名是 GreenSock Animation Platform,项目诞生非常早,远在 flash 繁荣的时代就存在,一直发展到今天已经是…

区间预测 | MATLAB实现QRBiGRU双向门控循环单元分位数回归时间序列区间预测

区间预测 | MATLAB实现QRBiGRU双向门控循环单元分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRBiGRU双向门控循环单元分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 进阶版 基础版 基本介绍 MATLAB实现QRBiGRU双向门控循环单…

时间序列预测(二)基于LSTM的销售额预测

时间序列预测(二)基于LSTM的销售额预测 小O:小H,Prophet只根据时间趋势去预测,会不会不太准啊 小H:你这了解的还挺全面,确实,销售额虽然很大程度依赖于时间趋势,但也会和…

YOLOv5教程-如何使用他人的数据集进行训练+测试评估模型

目录 一、前言与数据集 二、划分数据集以及配置文件的修改 1.把图片和.txt标注文件放入对应VOCData文件夹下 2..txt文件转为.xml文件 3.在VOCData目录下创建程序 split_train_val.py 并运行 4.将xml格式转为yolo_txt格式 5.设置测试文件 6.配置文件 三、聚类获得先验框 …

ABeam×StartUp | ABeam旗下艾宾信息技术开发(大连)与大连金勺科技展开合作交流

近日,ABeam 大中华区董事长兼总经理中野洋辅先生及艾宾信息技术开发(大连)(以下简称“ABeam-TDC”)的资深顾问团队一行人拜访了大连金勺科技有限公司(以下简称“金勺科技”)。 双方就各自发展的…

jsjiami.v6加密逆向分析介绍

随着互联网的不断发展,网站的安全性越来越受到重视。JS混淆加密技术是一种常用的保护网站安全的手段。jsjiami.v6是一款常用的JS混淆加密工具,下面我们来详细了解一下。 首先,我们来看一下一个使用jsjiami.v6进行混淆加密的案例代码&#xf…

线上 FullGC 问题排查实践 —— 手把手教你排查线上问题

一、问题发现与排查 1.1 找到问题原因 问题起因是我们收到了 jdos 的容器 CPU 告警,CPU 使用率已经达到 104% 观察该机器日志发现,此时有很多线程在执行跑批任务。正常来说,跑批任务是低 CPU 高内存型,所以此时考虑是 FullGC 引…

LC-1263. 推箱子(网格图BFS + DFS)

1263. 推箱子 难度困难105 「推箱子」是一款风靡全球的益智小游戏,玩家需要将箱子推到仓库中的目标位置。 游戏地图用大小为 m x n 的网格 grid 表示,其中每个元素可以是墙、地板或者是箱子。 现在你将作为玩家参与游戏,按规则将箱子 B 移…

Sleuth和zipkin

1、Sleuth是什么 为什么会出现这个技术?要解决哪些问题? 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路&am…

2.RabbitMQ

RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&am…

查询文件路径

1 问题 如何利用Java来查询文件的路径? 2 方法 1首先在类中利用main函数调用所有文件的和目录的代码。 2 然后开始写查询展示所有文件和目录的方法(运用了递归的思想) import java.io.File;import java.util.Arrays;import java.util.Scanner…

ETO、MTO、ATO与MTS(按单设计、按单生产、按单装配和库存生产)

按照企业组织生产的特点,可以把制造企业划分为ETO、ATO、MTO与MTS(按单设计、按单装配、按单生产和库存生产)四种生产类型。 按单设计(Engineer To Order,ETO)   在这种生产类型下,一种产品在…

【Sentinel源码分析】

Sentinel源码分析 Sentinel源码分析1.Sentinel的基本概念1.1.ProcessorSlotChain1.2.Node1.3.Entry1.3.1.自定义资源1.3.2.基于注解标记资源 1.4.Context1.4.1.什么是Context1.4.2.Context的初始化1.4.2.1.自动装配1.4.2.2.AbstractSentinelInterceptor1.4.2.3.ContextUtil 2.P…

软件工具 | Python调用运筹优化求解器(一):以CVRPVRPTW为例

目录 1. 引言2. 求解器介绍3. 基础语言3.1 创建模型3.2 添加变量3.3 添加目标函数3.4 添加约束3.5 设置参数3.6 求解 4. 数学模型4.1 [CVRP数学模型](https://mp.weixin.qq.com/s/DYh-5WkrYxk1gCKo8ZjvAw)4.2 [VRPTW数学模型](https://mp.weixin.qq.com/s/tF-ayzjpZfuZvelvItue…

【网络】4万字细品TCP协议

文章目录 TCP协议关于UDP和TCP的优缺点 TCP协议格式4位首部长度可靠性的理解确认应答的工作方式序号和确认序号如何保证报文的顺序呢确认序号的特点:为什么有两套序号总结:序列号的原理 16位窗口大小TCP的缓冲区为什么TCP叫做传输控制协议缓冲区存在的意义 窗口大小 6个标记位为…

python-数据类型

Python基础数据类型(int,str,bool)、格式化输出、程序交换 捕翼 于 2020-07-28 21:29:14 发布 2179 收藏 3 分类专栏: Python3.6.5 版权 Python3.6.5 专栏收录该内容 33 篇文章0 订阅 订阅专栏 文章目录 一、程序交互 二、格式化输出 数据类型: 三、…

四维轻云地理空间数据在线管理软件能够在线管理哪些数据?

四维轻云是一款地理空间数据在线管理软件,支持各类地理空间数据的在线管理、浏览及分享,用户可不受时间地点限制,随时随地查看各类地理空间数据。软件还具有项目管理、场景搭建、素材库等功能模块,支持在线协作管理,便…

Spring Boot 如何让你的 bean 在其他 bean 之前完成加载 ?

问题 今天有个小伙伴给我出了一个难题:在 SpringBoot 中如何让自己的某个指定的 Bean 在其他 Bean 前完成被 Spring 加载?我听到这个问题的第一反应是,为什么会有这样奇怪的需求? Talk is cheap,show me the code&am…

精力管理金字塔

精力管理金字塔 由协和医学院的张遇升博士在《掌控精力:不疲惫的身心管理术》一书中提出,分层次对精力管理提出了解析和有效的建议。 模型介绍 精力管理是一个可以学会的技能,学会了科学的精力管理方法,就能使自己的精力越来越好…

实在智能RPA首推集约式“智能门户超自动化办公"新模式,加速司法、政企数字化升级

随着数字化和智能化的快速发展,数字技术已经深入到各个行业和领域。实在智能基于数字员工在行业的深厚理解和丰富的实践经验,打造一站式的智能化统一平台——智能门户,打破了技术壁垒和系统数据之间的割裂感,实现政府、企业内部信…