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

数据分析 设备一个月以来的参数变化

1数据预处理

import pandas as pd
import glob
import os# 读取所有CSV文件并合并为一个DataFrame
path = 'path_to_your_csv_files/'  # CSV文件的文件夹路径
all_files = glob.glob(os.path.join(path, "*.csv"))df_list = []
for file in all_files:df = pd.read_csv(file)df_list.append(df)# 合并所有DataFrame
data = pd.concat(df_list, ignore_index=True)# 将保存时间列转换为日期时间格式
data['保存时间'] = pd.to_datetime(data['保存时间'])# 检查并处理缺失值(这里以删除含缺失值的行为例)
data = data.dropna()# 检查数据类型是否正确
print(data.dtypes)

2数据探索性分析(EDA)

#数据探索性分析
import plotly.io as pio
import plotly.graph_objs as go
from sklearn.preprocessing import MinMaxScaler
import matplotlib.pyplot as plt
# 设置字体为 SimHei (黑体),你也可以使用其他已安装的中文字体
plt.rcParams['font.family'] = ['SimHei']# 解决负号 '-' 显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False
print(data.describe())#时间序列分析,展示主轴电机实时转速随时间变化#选择需要分析的变量
variables_to_analyze = ['主轴电机实时转速','主轴电机实时电流','腔体压力','喂料电机实时转速','喂料电机实时电流','循环泵口压力','出料压力']#创建一个Plotly图表图像
fig = go.Figure()
for variable in variables_to_analyze:fig.add_trace(go.Scatter(x=data['保存时间'],y=data[variable],mode='lines',name=variable))
#设置标题和标签
fig.update_layout(title='设备参数在一个月内的曲线变化图',xaxis_title='时间',yaxis_title='参数值',hovermode='x unified')
pio.show(fig)
# plt.figure(figsize=(10,6))
# plt.plot(data['保存时间'],data['主轴电机实时转速'],label='主轴电机实时转速')
# plt.xlabel('时间')
# plt.ylabel('转速')
# plt.title('主轴电机转速随时间的变化')
# plt.legend()
# plt.show()#相关性分析
corr_matrix = data.corr()
print(corr_matrix)

3数据可视化

import seaborn as sns# 热力图展示参数之间的相关性
plt.figure(figsize=(12, 10))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt='.2f')
plt.title('参数相关性热力图')
plt.show()# 散点图展示主轴电机实时转速与主轴电机实时电流的关系
plt.figure(figsize=(8, 6))
sns.scatterplot(x='主轴电机实时转速', y='主轴电机实时电流', data=data)
plt.xlabel('主轴电机实时转速')
plt.ylabel('主轴电机实时电流')
plt.title('主轴电机实时转速与主轴电机实时电流的关系')
plt.show()

4特征工程

# 例如构造一个新的特征:转速与电流的比率
data['转速电流比'] = data['主轴电机实时转速'] / data['主轴电机实时电流']# 选择重要特征,作为后续分析或建模的输入
features = ['主轴电机设定转速', '主轴电机实时转速', '主轴电机实时电流', '转速电流比', '腔体压力']
target = '出料压力'X = data[features]
y = data[target]

5建模与预测

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score# 数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 使用线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)# 模型预测
y_pred = model.predict(X_test)# 模型评估
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)print(f'Mean Squared Error: {mse}')
print(f'R^2 Score: {r2}')

http://www.mrgr.cn/news/19562.html

相关文章:

  • 【SM系列】简单说说SM2,SM3,SM4加密算法
  • 基于vue框架的朝阳保险公司营销管理系统0wamc(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • jdk11安装步骤(含安装包)
  • 0基础搭建本地私有知识库,给 GPT 插上翅膀,有手就行
  • java——项目开发团队分配管理软件
  • iOS viewWillAppear viewDidAppear viewDidLoad
  • Java_jdk安装配置~java入门
  • iOS P8证书推送测试
  • VMware下一文带你构建Apollo9.0运行环境
  • tomato靶机通关攻略
  • 基于 AT 固件测试 ESP32 设备作为 WiFi AP 模式创建 TCP Server 开启 UART-to-WiFi 透传模式的指令序列
  • 公司网站设计方案
  • python中.之后的圈c、圈v分别代表什么意思?
  • Chrome 浏览器插件获取网页 window 对象(方案二)
  • Mysql数据量大,如何拆分Mysql数据库(水平拆分)
  • 【精选】高校餐厅校园送餐系统的开发与实现(全网最新,独一无二,阿龙定制(高校毕业生系统,大学生就业信息系统吗,就业系统,JAVA系统,就业系统,信息管理系统)
  • 字节4面通过,我可以跟面试官要30K吗?
  • 一文解析新手玩转TikTok只需TK引流系统
  • 利用javacv实现视频转h264
  • GIS十大经典问题之1.缓冲区分析问题