Python 数据分析与挖掘(一)

Python 数据分析与挖掘(数据探索)

数据探索

1.1 需要掌握的工具(库)

1.1.1 Nump库

  1. Numpy 提供多维数组对象和各种派生对象(类矩阵),利用应用程序接口可以实现大量且繁琐的数据运算。可以构建多维数组;提供含有大量对数组数据进行快速运算的数学函数;提供线性代数运算函数;提供随机数生成等功能;提供统计计算功能。
  2. ndarray多维数组
    创建ndarray数组
    使用numpy的array()函数创建
    语法:numpy.array(object,dtype)
    作用:返回满足要求的数组对象。
    说明:
    object:指定生成数组的数据序列,可以是列表、元组。
    dtype: 数据类型,指定数据元素的数据类型 。

1.1.2 Pandas库

  1. pandas 提供类似sql的操作(表类似类矩阵),比如增删改查,可以灵活处理缺失值,提供高性能的矩阵运算。
  2. Pandas 来源于pandas库中的三种主要数据结构: Panel, DataFrame, Series。
    (1)Series,带标签的一维数组;
    Series 是一个一维的带有标签的数组,这个数据可以由任何类型数据构成,包括整型、浮点、字符、Python 对象等。轴标签被称为「索引」,是 Pandas 最基础的数据结构。
    基本创建方式如下:
    s = pd.Series(data, index=index)
    其中:
    data 可以是 python 对象、numpy 的 ndarray 、一个标量(定值,如 8)
    index 索引是轴上的一个列表,必须和 data 的长度相同,如果没有指定则自动从 0 开始,[0, …, len(data) - 1]
    (2)DataFrame,带标签且大小可变的二维表格结构;
    DataFrame 是 Pandas 定义的一个二维数据结构。横向的称作行(row),一行纵向的称作列(column)。
    第一行是表头,或者可叫字段名,类型 Python 字典里的 key,代码数据的属性。
    第一列是索引(index),就是这行数据所描述的主体,也是这条数据的关键,
    表头和索引在一些场景下也有称列索引和行索引。
    df.loc[ ]只能使用标签索引,不能使用整数索引,通过便签索引切边进行筛选时,前闭后闭。
    df.iloc[]只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开。

    (3)Panel,带标签且大小可变的三维数组。
    Pandas 官方中文文档 https://www.pypandas.cn
    盖若 https://www.gairuo.com/p/pandas
    在这里插入图片描述

1.1.3 Matplotlib库(实现可视化)

  1. 创建画布与创建子图
    构建出一张空白的画布,并可以选择是否将整个画布划分为多个部分,以便于在同一幅图上绘制多个图形
    当只需要绘制一幅简单图形时,创建子图这部分内容可以省略。
    在pyplot模块中创建画布,创建并选中子图的函数如表所示。
    在这里插入图片描述
  2. 添加画布内容
    添加画布内容是绘图的主体部分,其中添加标题、坐标轴名称、绘制图形等步骤是并列的,没有先后顺序,读者可以先绘制图形,也可以先添加各类标签。图例只有在绘制图形之后才可进行添加。
  3. 在pyplot模块中添加各类标签和图例的函数如表所示。

1.2 数据校验

数据校验可以检查出原始数据中是否存在噪声数据,从而对出现的噪声数据采取相应的解决措施。
噪声数据是指数据中存在着错误或异常,偏离期望值的数据。
数据校验类型包括:一致性检验、缺失值校验、异常值校验。

1.2.1 一致性校验

(1)时间校验
范围不一致,统计区间不同
粒度不一致,采集频率不同
格式不一致,大多来自不同系统
(2)字段信息校验
收集收集过程中,出现重复收集数据或重复写入数据,导致数据冗余。
由于存在重复值,可能存在以下3种情况
同名异义:名称相同,含义不一致
异名同义:名称不同,代表的含义一样
单位不一致:如A系统的单位元,B系统万元

1.2.2 缺失值

在这里插入图片描述
(1)简单统计分析
统计缺失值的属性个数以及每个属性的未缺失数、缺失数、缺失率
panadas 函数:info、describe、isnull().sum()、isnull().any()
(2)缺失值处理
删除、插补、不处理

1.2.2 异常值校验

  1. (1)目的:是检验数据是否有录入错误以及含有不合常理的数据。
    (2)概念:异常值是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称为离群点,异常值的分析也称为离群点的分析。
    (3)异常值分析方法主要有:简单统计量分析、3σ原则、箱型图分析。
  2. 如果数据服从正态分布,在3σ原则下,异常值被定义为一组测定值中与平均值的偏差超过三倍标准差的值。在正态分布的假设下,距离平均值 3σ之外的值出现的概率为P(|x-μ|>3σ) ≦0.003,属于极个别的小概率事件。
    在这里插入图片描述
  3. (1)不需要事先假定数据服从特定分布形式,没有对数据作限制性要求。
    (2)箱形图判断异常值的标准以四分位数和四分位距为基础
    (3)四分位数具有一定的鲁棒性:多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不能对这个标准施加影响。
    (4)箱形图识别异常值的结果比较客观,有一定优越性。
    在这里插入图片描述
    四分位数(Quantile):把数据分布划分成4个相等的部分,使得每部分表示数据分布的四分之一。这3个数据点称为四分位数
    在这里插入图片描述
    四分位的计算方式有(n+1)* p,1+(n-1) * p
    两种方式,p分别为0.25,0.5,0.75
    QL=1+(n-1)/4
    QU=1+3*(n-1)/4

1.3 特征分析

1.3.1分布分析

分布分析能揭示数据的分布特征和分布类型,便于发现某些特大或特小的可疑值。
(1)对于定量数据,欲了解其分布形式,是对称的、还是非对称的,可做出频率分布表、绘制频率分布直方图、绘制茎叶图进行直观地分析;直方图有利于分析数据的整体分布情况
(2)对于定性分类数据,可用饼图和条形图直观地显示数据分布情况。
(3)对于定量变量而言,做频率分布分析时选择“组数”是主要的问题,一般按照以下步骤:
求极差(最大值-最小值)
决定组距与组数,组距=极差/组数
决定分布区间
列出频率分布表
绘制频率分布直方图
直方图绘制:(常用结构)
plt.hist(数据,bins=分箱数,density=密度或频数,布尔)
plt.xlabel(‘XXX’,fontsize=15) #x轴标签,字体
plt.ylabel(‘XXX’,fontsize=15,color=‘r’)
plt.title(‘XXX’,fontsize=15)#标题字体
plt.xticks(fontsize=15) #x刻度

g=df.列名.plot.hist(bins=8,grid=True,fontsize=15)
g.set_xlabel(‘XXX’,fontsize=15)
g.set_ylabel(‘XXX’,fontsize=15)
g.set_title(‘XXX’,fontsize=15)
(4)对于定性变量,常常根据变量的分类类型来分组,可以采用饼图和条形图来描述定性变量的分布。
(5)饼图的每一个扇形部分代表每一类型的百分比或频数,根据定性变量的类型数目将饼图分成几个部分,每一部分的大小与每一类型的频数成正比;条形图的高度代表每一类型的百分比或频数,条形图的宽度没有意义。

1.3.2 对比分析

(1)对比分析是指把两个相互联系的指标数据进行比较,从数量上展示和说明研究对象规模的大小,水平的高低,速度的快慢,以及各种关系是否协调。
对比分析主要有以下两种形式:
第一种:绝对数比较(利用绝对数进行对比)
第二种:相对数比较
由两个有联系的指标对比计算的,用以反映客观现象之间数量联系程度的综合指标,其数值表现为相对数。
1)结构相对数 4)强度相对数
2)比例相对数 5)计划完成程度相对数
3)比较相对数 6)动态相对数

1.3.3统计量分析

(1) 用统计指标对定量数据进行统计描述,常从集中趋势和离中趋势两个方面进行分析。
(2)平均水平的指标是对个体集中趋势的度量,使用最广泛的是均值和中位数;反映变异程度的指标则是对个体离开平均水平的度量,使用较广泛是标准差(方差)、四分位间距。
集中趋势度量主要有:均值、中位数、众数、中列数。
离中趋势度量主要有:极差、标准差、方差。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)极差: 等于最大值-最小值
标准差:标准差也被称为标准偏差,在概率统计中最常使用作为统计分布程度上的测量依据。标准差是方差的算术平方根。标准差可度量数据偏离均值的程度。d.std()
在这里插入图片描述

(4)方差:d.var()在这里插入图片描述

(5)变异系数:又称离散系数。度量标准差相对于均值的离中趋势。
计算公式变异系数=标准差÷均值*100%
主要用来比较2个或多个不同单位或不同波动幅度的数据集的离中趋势。

1.3.4 周期性分析

(1)周期性分析是探索某个变量是否随着时间变化而呈现出某种周期变化趋势。
(2)周期性趋势相对较长的有年度周期性趋势、季节性周期趋势,相对较短的一般有月度周期性趋势、周度周期性趋势,甚至更短的天、小时周期性趋势。
(3)以某景区2019年3月份人流量为例,根据人流量数据,制时序图,并分析景区人流量的变化趋势。

1.3.5贡献度分析

(1) 贡献度分析又称帕累托分析,帕累托法则又称20/80定律。同样的投入放在不同的地方会产生不同的效益。
(2)比如对一个公司来讲,80%的利润常常来自于20%最畅销的产品;而其他80%的产品只产生了20%的利润。
(3)贡献度分析要求我们抓住问题的重点,找到那最有效的20%的热销产品、渠道或者销售人员,在最有效的20%上投入更多资源,尽量减少浪费在80%低效的地方。

1.3.6相关性分析

(1)研究变量之间的关系:了解不同变量之间的相关性强弱和方向。
(2)预测模型建立:在构建预测模型之前,相关性分析可以帮助筛选出对预测目标具有重要影响的变量,从而提高模型的准确性和可解释性。
探索数据集特征:通过分析变量之间的相关性,可以揭示出可能存在的潜在关联。
(3)排除冗余变量:在某些情况下,数据集中可能存在冗余变量,即变量之间存在高度相关性。通过相关性分析,可以鉴别出冗余变量,从而在建模或分析过程中减少冗余信息,提高效率。
(4)分析连续变量之间线性的相关程度的强弱,并用适当的统计指标表示出来的过程称为相关分析。
(5)相关性不等于因果性,也不是简单的个性化,相关性在不同的学科里面的定义也有很大的差异。
(6)相关性分析方法主要有:
直接绘制散点图
绘制散点图矩阵
计算相关系数
(7)函数关系(一一对应关系)
设有两个变量 x 和 y ,变量 y 随变量 x 一起变化,并完全依赖于 x ,当变量 x 取某个数值时, y 依确定的关系取相应的值,则称 y 是 x 的函数,记为 y = f (x),其中 x 称为自变量,y 称为因变量
某种商品的销售额(y)与销售量(x)之间的关系可表示为 y = p x (p 为单价)
(8)相关性
线性相关——散点图接近一条直线
非线性相关——散点图接近一条曲线
正相关——变量同方向变化,同增同减
负相关——变量反方向变化 , 一增一减
(9)
为了更加准确的描述变量之间的线性相关程度,可以通过计算相关系数来进行相关分析。在二元变量的相关分析过程中比较常用
Pearson相关系数(皮尔森)
Spearman秩相关系数(斯皮尔曼)
判定系数(相关系数的平方)
(10) 需要同时考察多个变量间的相关关系时,若一一绘制它们间的简单散点图,十分麻烦。此时可利用散点图矩阵来同时绘制各自变量间的散点图,这样可以快速发现多个变量间的主要相关性,这一点在进行多元线性回归时显得尤为重要。
import numpy as np,pandas as pd
v1 = np.random.normal(0, 1, 100)
v2 = np.random.randint(0, 23, 100)
v3 = v1 * v2
df = pd.DataFrame([v1, v2, v3]).T
pd.plotting.scatter_matrix(df)
plt.show()

数据探索实验一

实验1 数据特征分析

一、实验课时
4课时 验证性
二、实验目的
1、根据提供的数据,对航空公司1949-1960年乘客人数做简单的描述性分析。
2、掌握频数分布、集中和离散趋势、偏度和峰度、基本统计图表。
三、实验内容
1、根据数据集找出这12年来客运人数的趋势
2、找出乘客人数的季节趋势
3、对乘客人数做简单的描述性分析。
四、实验流程
1、读取“base.xlsx”excel数据,查看数据信息
使用Pandas对数据excel数据进行获取,并能够查看完整的数据。
问题:对获取到的数据进行一个简单的描述。
2、数据异常值检测1(describe方法)。
3、数据异常值检测2(箱型图),只显示12个月数据,并简单说明分析结果。
4、整理数据
将year作为行索引。
5、乘客数量对比分析
(1)绘制频数分布直方图,查看其中规律。
①按年份进行求和
②按月份进行求和
③使用matplotlib中的条形图对比每年乘客数量,并对分布结果进行分析。
④使用折线图作出每年乘客变化趋势图,并作出分析结果。
⑤对比月度乘客总数量,分析出12个月当中乘客人数的高峰期。
6、对所有的乘客人数做描述性统计
①以年份维度作堆叠得出堆叠结果。
②使用函数生成描述性统计,说明数据集的最大值、最小值、平均值。
③计算出该数据的偏度系数,并根据系数作出分析。
④计算出该数据的峰度系数,并根据系数作出分析。
⑤使用帕累托图表达出航空乘客数量与年份的关系,并标注关键节点数据。
⑥对航空乘客数量进行周期性分析。
五、实验成果要求
1、完成每一项任务
base的表格内容:
在这里插入图片描述

代码如下:

import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel("C:\\Users\\86182\\Desktop\\base.xlsx")
data1 = data.iloc[:, 1:12]
plt.rcParams['font.sans-serif'] = ['SimHei']  # 正常显示中文
plt.rcParams['axes.unicode_minus'] = False  # 正常显示负号
data1.boxplot()
plt.title("客运人数异常值检测")
plt.xlabel('月份')#x轴显示月份
plt.ylabel("客运人数(万人)")#y轴显示人数
data2 = data.set_index("year")
data_sum1 = data2.sum(axis=1)  # 按行求和
data_sum2 = data2.sum(axis=0)  # 按列求和
# 分析对比图
plt.figure()  # 绘制画布
plt.title("每年客运人数对比")  # 柱形图题目
plt.xlabel("年份")  # x刻度轴名字
plt.ylabel('人数(万)')  # y刻度轴名字
plt.bar(data['year'], data_sum1)  # 绘制柱形图
for i in range(len(data_sum1)):  # 将柱形图添加具体数值plt.text(data.year[i]-0.4, data_sum1.iloc[i]+0.4, '%.0f'%data_sum1.iloc[i])
# 折线图——每年乘客变化趋势
plt.figure()
plt.title("每年乘客变化趋势")
plt.xlabel("年份")
plt.ylabel('人数(万)')
plt.plot(data['year'], data_sum1, color='red', marker='o')
print(data_sum2.sort_values())  # 返回排序后的月度乘客总量
data3 = data2.stack()
print(data3)
print(data3.describe())
s = pd.Series(data3)
bias_value = s.skew()
peak_value = s.kurt()
print('偏度:', bias_value)
print('峰度:', peak_value)
# 频数分布直方图
plt.figure()data_pingshu = pd.concat([data['Jan'], data['Feb'], data['Mar'], data['Apr'], data['May'], data['Jun'], data['Jul'],data['Aug'], data['Sep'], data['Oct'], data['Nov'], data['Dec']])
bins = [100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650]
plt.hist(data_pingshu, bins, range(100, 650), edgecolor='black')
plt.xticks(bins)
plt.title("频数分布直方图")
# 贡献度分析
plt.figure()
data['headcount'] = data.sum(1)
data4 = data.iloc[:, [0, -1]]
data4 = data4.sort_values(by=['headcount'], ascending=False).reset_index()
data4['headcount'].plot(kind='bar')
print(data4)
plt.ylabel('客运人数(万)')
p = data4['headcount'].cumsum() / data4['headcount'].sum()
print(p)
p.plot(secondary_y=True, style='-o', linewidth=2, color='r')
plt.xticks(range(12), data['year'])
plt.annotate(format(p[8],".2%"), xy=(8, p[8]),xytext=(8*1.2, p[8]*1.2), arrowprops=dict(arrowstyle='->', connectionstyle="arc3"))
plt.ylabel("贡献度比例")
# 周期性分析
plt.figure()
plt.plot(range(144), data3)
plt.xticks(range(0,144,12),data4['headcount'])
plt.title('贡献度分析')
plt.xlabel('年份')
plt.ylabel('人流量')
plt.show()

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

总结

静中争,稳中急。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Minecraft个人服务器搭建自己的皮肤站并实现外置登录更换自定义皮肤组件

Minecraft个人服务器搭建自己的皮肤站并实现外置登录更换自定义皮肤组件 大家好,我是艾西有不少小伙伴非常喜欢我的世界Minecraft游戏,今天小编跟大家分享下Minecraft个人服务器怎么设置皮肤站。 Minecraft皮肤站是什么?其实官网就有皮肤站…

Overloud TH-U Complete for Mac:演绎您的音乐世界

Overloud TH-U Complete for Mac是一款功能强大的吉他谱曲软件,可以让您在Mac电脑上轻松进行吉他模拟、录音和混音等操作,创作属于自己的音乐作品。 Overloud TH-U Complete for Mac提供了丰富的吉他模拟和音效库,涵盖了多种吉他放大器、箱体…

腾讯云服务器简介_CVM优势_常见问题解答

腾讯云服务器CVM提供安全可靠的弹性计算服务,腾讯云明星级云服务器,弹性计算实时扩展或缩减计算资源,支持包年包月、按量计费和竞价实例计费模式,CVM提供多种CPU、内存、硬盘和带宽可以灵活调整的实例规格,提供9个9的数…

1600*C. Good Subarrays(找规律前缀和)

Problem - 1398C - Codeforces 解析: 可以写出 sum[ j ] - sum[ i ] j - i 1,对其移项得 sum[ j ] - j sum[ i ] - (i - 1),问题转换为有多少个前缀和相等,则用map遍历统计一遍即可。 注意,当…

数据结构——AVL树(详解 + C++模拟实现)

文章目录 前言AVL树的概念AVL树节点的定义AVL树类框架AVL树的插入AVL树的旋转新节点插入较高子树的左侧 —— 左左: 右单旋新节点插入较高右子树的右侧——右右: 左单旋新节点插入较高左子树的右侧 —— 左右: 先左单旋然后再有单旋新节点插入较高右子树的左侧&…

【JavaEE重点知识归纳】第5节:方法

目录 一:方法的概念和使用 1.什么是方法 2.方法的定义 3.方法的调用过程 4.实参和形参的关系(重点) 二:方法重载 1.方法重载概念 2.方法签名 三:递归 1.递归的概念 2.递归执行的过程分析 一:方法的概念和使…

qt 5.15.2 安卓 macos

macos环境安卓配置 我的系统是monterey12.5.1 打开qt的配置界面 这里版本是java1.8,注意修改这个json文件,显示包内容 {"common": {"sdk_tools_url": {"linux": "https://dl.google.com/android/repository/comm…

1500*B. Zero Array(贪心数学找规律)

Problem - 1201B - Codeforces 解析&#xff1a; 因为每次减少2&#xff0c;如果总和为奇数肯定无法实现。 特例&#xff0c;如果某个数大于其他所有数的总和&#xff0c;同样无法实现。 其他均可实现。 #include<bits/stdc.h> using namespace std; #define int long l…

给 Linux0.11 添加网络通信功能 (Day1: 确认 qemu-system-i386 提供了虚拟网卡)

感觉单纯读闪客的文章&#xff0c;以及读 Linux0.11 源码&#xff0c;而不亲自动手做点什么&#xff0c;很难学会&#xff0c;还是得写代码 定个大目标&#xff1a;给 Linux0.11 添加网络通信功能 今日的小目标&#xff1a;先确认 qemu-system-i386 提供了网卡功能 here we …

C++入门-day03

引言&#xff1a;本节我们讲一下C中的引用 一、引用 先看一下下面这段代码&#xff1a; 在这段代码中。我们命名了两个变量&#xff0c;a和_a&#xff0c;其中_a就是a的引用 所谓引用就是a的“别名”&#xff0c;我们看一下这段代码的运行结果&#xff1a; 发现其地址一样&…

导出视频里的字幕

导出视频里的字幕 如何利用剪映快速提取并导出视频里的字幕 https://jingyan.baidu.com/article/c35dbcb0881b6fc817fcbcd2.html 如何快速提取视频中的字幕&#xff1f;给大家介绍一种简单高效又免费的提取方法。需要利用到“剪映”&#xff0c;以下是具体的操作步骤和指引&a…

计算机专业毕业设计项目推荐11-博客项目(Go+Vue+Mysql)

博客项目&#xff08;GoVueMysql&#xff09; **介绍****系统总体开发情况-功能模块****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以及模式&am…

二叉树--对称二叉树

小白同学对于二叉树还是不太了解的&#xff0c;作者推荐&#xff1a;二叉树的初步认识_加瓦不加班的博客-CSDN博客 对称二叉树-力扣 101 题 作者给的图&#xff1a; 代码&#xff1a; public boolean isSymmetric(TreeNode root) {//刚刚开始&#xff0c;传入的是顶堆的左、右…

时序预测 | MATLAB实现ICEEMDAN-IMPA-GRU时间序列预测

时序预测 | MATLAB实现ICEEMDAN-IMPA-GRU时间序列预测 目录 时序预测 | MATLAB实现ICEEMDAN-IMPA-GRU时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 ICEEMDAN-IMPA-GRU功率/风速预测 基于改进的自适应经验模态分解改进海洋捕食者算法门控循环单元时间序列预…

【python海洋专题十二】年平均的南海海表面温度图

【python海洋专题十二】年平均的南海海表面温度图 上期内容 南海水深图 本期内容 年平均的南海平面温度图 数据来源 NCEP/DOE Reanalysis II: NOAA Physical Sciences Laboratory NCEP/DOE Reanalysis II skt.skt.sfc.mon.ltm.nc Part01. 本文重点内容 前几期地形图&a…

【MATLAB源码-第43期】基于matlab的turbo码误码率仿真比较不同迭代次数,采用logmap/sova算法。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 Turbo码是一种前向纠错码 (Forward Error Correction, FEC)&#xff0c;在 1993 年由法国的两位研究员 Claude Berrou 和 Alain Glavieux 提出。这种编码技术以其接近 Shannon 极限的高性能而受到广泛关注。以下是关于 Turbo…

关联规则挖掘(下):数据分析 | 数据挖掘 | 十大算法之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

【Kafka专题】Kafka收发消息核心参数详解

目录 前置知识课程内容一、从基础的客户端说起&#xff08;Java代码集成使用&#xff09;1.1 消息发送者源码示例1.2 消息消费者源码示例1.3 客户端使用小总结 *二、从客户端属性来梳理客户端工作机制*2.1 消费者分组消费机制2.2 生产者拦截器机制2.3 消息序列化机制2.4 消息分…

学习笔记|串口通信的基础知识|同步/异步|常见的串口软件的参数|STC32G单片机视频开发教程(冲哥)|第二十集:串口通信基础

目录 1.串口通信的基础知识串口通信(Serial Communication)同步/异步&#xff1f;全双工&#xff1f;常见的串口软件的参数 2.STC32的串口通信实现原理引脚选择模式选择 3.串口通信代码实现编写串口1通信程序测试 总结 1.串口通信的基础知识 百度百科&#xff1a;串口通信的概…