【探索 Python 数据分析在工业互联网中的基石】

标题:探索 Python 数据分析在工业互联网中的基石

首先,要掌握 Python 的基础知识,包括语法、数据结构和控制流。这是构建数据分析能力的根基。

数据采集

  1. 数据采集是关键的第一步。我们需要了解如何从各种工业数据源,如传感器、设备日志等,获取数据并将其导入到 Python 环境中。常见的库如 pandas 在此发挥重要作用,它能高效地处理和整理数据。

  2. 数据采集的代码会根据你要采集的数据来源和格式而有所不同。一般来说,你可以使用 Python 的requests库来发送 HTTP 请求,并使用BeautifulSoup或Pandas来解析和处理响应的数据。

以下是一个简单的数据采集示例代码,用于从网页上采集数据:

import requests
from bs4 import BeautifulSoup

# 定义要采集的网页 URL
url = 'http://example.com'

# 发送 HTTP 请求并获取响应
response = requests.get(url)

# 检查响应状态码
if response.status_code!= 200:
    print(f'请求失败,状态码: {response.status_code}')
    exit()

# 使用 BeautifulSoup 解析响应内容
soup = BeautifulSoup(response.text, 'html.parser')

# 提取所需的数据
data = soup.find('div', {'class': 'data-container'}).text

# 打印采集到的数据
print(data)

在上述示例中,我们首先定义了要采集的网页 URL。然后,使用requests.get()方法发送 HTTP GET 请求,并获取响应。我们检查响应的状态码,如果不是 200,则表示请求失败,退出程序。
接下来,使用BeautifulSoup解析响应的 HTML 内容,并使用find()方法找到包含数据的特定div元素。最后,提取该元素的文本内容,并将其打印出来。
请注意,这只是一个简单的数据采集示例,实际的数据采集可能涉及更复杂的逻辑,例如处理多个页面、解析不同的数据格式、处理异常情况等。此外,还需要遵守网站的使用条款和法律规定,确保你的采集行为是合法和合规的

数据清洗和预处理

  • 数据清洗和预处理必不可少。工业数据往往存在缺失值、异常值等问题,我们要学会运用合适的方法进行清理和修正,以确保数据的质量。
    对于数据分析,统计学概念是基础。理解均值、方差、标准差等统计指标,能帮助我们洞察数据的特征和趋势。
1.数据清洗
1.1数据去重

-import pandas as pd

# 创建一个含有重复值的表格
df = pd.DataFrame(
    [['甲',80],['甲',85],['乙',90]],
    columns=['姓名','分数']
)
df
df.drop_duplicates(subset=['姓名'],keep='first',inplace=True) # inplace使修改在原数据上生效
df #重新打印

请添加图片描述

2.缺失值的处理
2.1生成python中缺失值
# 生产python中缺失值
import numpy as np 
print(np.nan)    #方法一
print(float('nan')) #法二
print(None)  #方法三 python自带空值

在这里插入图片描述

2.2缺失值的查找
df = pd.read_csv(r'E:\TAN XUE HUA\dataset\新用户表.csv',encoding='gbk')
df.isnull().sum()

在这里插入图片描述

2.3删除法处理缺失值
df_nan = pd.DataFrame(
    [['甲',80,'1班'],[np.nan,np.nan,'1班'],['乙',np.nan,'1班']],
    columns=['姓名','分数','班级']
)
df_nan

#情况一:针对一列来删除
df_nan.dropna(subset=['姓名'])

#情况二:针对多列并且
df_nan.dropna(subset=['姓名','分数'],how='any')

#情况三:针对多列并且所有的数据缺失才删除
df_nan.dropna(subset=['姓名','分数'],how='all')

在这里插入图片描述

3 异常值处理
# 案例:处理航空公司用户的异常年龄
df_air = pd.read_excel(r'E:\TAN XUE HUA\dataset\航空公司数据.xlsx')
# 删除所有年龄缺失值所在行
df_air.dropna(subset=['年龄'],inplace=True

df_air['年龄'].hist()

# 序列对象.quantile(小数x)查询(x*100)%分位数
Q3=df_air['年龄'].quantile(0.75)
Q1= df_air['年龄'].quantile(0.25)
IQR = Q3 - Q1
#计算正常值区间
c=2 #自定义的正常区间IQR的系数,通常用1.5
normal_low =Q1 -1.5*IQR
normal_high =Q3 +1.5*IQR
print(normal_low,normal_high)

#定位异常数据
df_air.query(f'年龄<{normal_low} or 年龄>{normal_high}')

# 以查代删实现异常数据的删除
df_air.query(f'年龄>={normal_low} and 年龄<={normal_high}').reset_index(drop=True)

请添加图片描述

4.数据预处理

数据预处理是指在进行数据分析或建模之前,对数据进行的一系列清洗、转换和整理操作,以确保数据的质量和可用性。以下是一个简单的数据预处理代码示例,用于处理一个包含学生成绩的数据集:

import pandas as pd

# 读取数据文件
data = pd.read_csv('student_scores.csv')

# 查看数据的基本信息
print(data.info())

# 去除缺失值
data.dropna(inplace=True)

# 去除重复值
data.drop_duplicates(inplace=True)

# 数据标准化
data['score'] = (data['score'] - data['score'].mean()) / data['score'].std()

# 数据归一化
data['score'] = (data['score'] - data['score'].min()) / (data['score'].max() - data['score'].min())

# 查看处理后的数据
print(data.head())

在上述代码中,我们首先使用pandas库的read_csv()函数读取数据文件,并使用info()函数查看数据的基本信息,包括数据的行数、列数、数据类型和缺失值等情况。

然后,我们使用dropna()函数去除数据中的缺失值,并使用drop_duplicates()函数去除数据中的重复值。

接下来,我们使用mean()和std()函数计算数据的均值和标准差,并使用(data[‘score’] - data[‘score’].mean()) / data[‘score’].std()公式对数据进行标准化处理,将数据转换为均值为 0,标准差为 1 的标准正态分布。

最后,我们使用min()和max()函数计算数据的最小值和最大值,并使用(data[‘score’] - data[‘score’].min()) / (data[‘score’].max() - data[‘score’].min())公式对数据进行归一化处理,将数据转换为 0 到 1 之间的数值。

统计学概念

  • 对于数据分析,统计学概念是基础。理解均值、方差、标准差等统计指标,能帮助我们洞察数据的特征和趋势。

以下是一些统计学中的基本概念和方法:

1.数据收集:通过各种方法收集数据,例如调查、实验、观察等。
描述性统计:对数据进行总结和描述,包括均值、中位数、众数、标准差等指标,以及数据的分布情况。
2.推断性统计:根据样本数据推断总体的特征和关系,包括假设检验、置信区间估计等。
3.概率分布:研究随机变量的概率分布,如正态分布、二项分布等。
4.参数估计:根据样本数据估计总体参数,如均值、比例等。
5.假设检验:对关于总体参数的假设进行检验,以确定是否拒绝或接受该假设。
6.方差分析:比较多个组之间的差异,判断因素对结果的影响。
7.回归分析:研究变量之间的关系,建立回归模型进行预测和解释。
8.时间序列分析:分析时间序列数据的趋势、季节性和周期性等特征。
9.数据可视化:使用图表和图形展示数据,帮助理解和传达信息。

统计学的应用非常广泛,包括商业、医学、社会科学、工程等领域。它可以帮助我们理解数据背后的规律,做出基于数据的决策,并评估结果的可靠性。

可视化
  • 可视化是直观呈现数据的有力手段。matplotlib 和 seaborn 等库让我们能够创建精美的图表,将复杂的数据转化为易于理解的图形。
  • matplotlib 是一个广泛使用的基础绘图库,它提供了高度的灵活性和定制性,可以创建各种复杂的图表。seaborn 则是在 matplotlib 的基础上构建的,它提供了一些更高级的绘图功能和更美观的默认样式,使得创建高质量的图表更加容易

使用这些库,我们可以通过以下步骤创建可视化图表:

1.导入所需的库
import matplotlib.pyplot as plt
import seaborn as sns
2.准备数据:
  • 将需要可视化的数据整理成适合绘图的格式。
3.选择合适的图表类型:
  • 根据数据的特点和目的,选择合适的图表类型,如折线图、柱状图、饼图等。
4.绘制图表:
  • 使用相应的函数创建图表,并根据需要进行定制,如设置标题、坐标轴标签、颜色、字体等。
5.展示图表:
  • 使用 plt.show() 或保存图表到文件。

例如,要创建一个简单的折线图,可以使用以下代码:

import matplotlib.pyplot as plt

# 准备数据
x = [1, 2, 3, 4, 5]
y = [5, 4, 3, 2, 1]

# 绘制折线图
plt.plot(x, y)

# 设置标题和坐标轴标签
plt.title('Simple Line Plot')
plt.xlabel('X')
plt.ylabel('Y')

# 展示图表
plt.show()
机器学习算法
  • 也在工业互联网中有广泛应用。从简单的线性回归到复杂的神经网络,Python 提供了丰富的工具和库来构建预测模型和进行数据分析。

以下是一些常见的机器学习算法:

1.线性回归:用于建立自变量和因变量之间的线性关系模型。
2.逻辑回归:用于分类问题,通过构建逻辑函数来预测类别。
3.决策树:通过构建树状结构来进行分类和回归。
4.随机森林:由多个决策树组成的集成学习算法,提高了模型的准确性和稳定性。
5.支持向量机:通过寻找最优超平面来进行分类和回归。
6.K 近邻算法:根据数据点之间的距离进行分类和回归。
7.神经网络:模拟人类大脑的神经元结构,用于处理复杂的模式识别和预测问题。
8.聚类算法:将数据点分成不同的组或簇。
9.降维算法:减少数据的维度,同时保留重要的信息。

在工业场景中,时间序列分析尤为重要,用于处理和分析随时间变化的数据。
此外,了解数据存储和数据库操作,以便有效地管理和查询大规模的工业数据。

总之,掌握这些 Python 数据分析的知识基础内容,将为我们在工业互联网领域开启无限可能,助力工业智能化的发展。

  • 49
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值