![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据挖掘与数据分析
文章平均质量分 76
Fo*(Bi)
正在学习编程的“小学生”,啥也不会的技术渣。
展开
-
Python数据处理工具 ——Pandas(数据的预处理)
0、前言本文将介绍强大的数据处理模块Pandas,该模块可以帮助数据分析师轻松地解决数据的预处理问题,如数据类型的转换、缺失值的处理、描述性统计分析、数据的汇总等。通过本章内容的学习,读者将会掌握如下知识点,进而在数据处理过程中做到游刃有余,为后续的数据分析或机器学习做准备:两种重要的数据结构,即序列和数据框;如何读取外部数据(如文本文件、电子表格或数据库中的数据);数据类型转换及描述性统计分析;字符型与日期型数据的处理;常见的数据清洗方法;如何应用iloc、loc、与ix完成数据子集的生原创 2020-09-10 17:54:54 · 5128 阅读 · 0 评论 -
Python数据可视化——matplotlib.pyplot中plt的参数详解
matplotlib.pyplot中plt的参数详解:#平滑折线的示例# plt.plot(xnew, ynew, marker='.', markevery=markevery, ls='-', label='yy', c='purple', linewidth=1.0, ms=6, mfc='purple', mec='purple', mew=3)#设置横纵坐标的刻度范围plt.xlim((0, 10200)) #x轴的刻度范围被设为a到bplt.ylim((0, 0.32))原创 2020-09-08 15:44:21 · 15362 阅读 · 1 评论 -
Python数据库数据的读取
从两个模块的connect函数看,两者几乎没有差异,而且参数含义也是一致的,所不同的是pymysql模块中connect函数的host参数表示需要访问的服务器,而pymssql函数中对应的参数是server。需要注意的是,如果你手动创建了一个数据库连接,而没有使用连接池或者没有正确地关闭连接,就可能会出现连接泄漏或资源泄漏的问题。使用 SQLAlchemy 创建的数据库连接是由 SQLAlchemy 管理的,所以在读取完数据库后,不需要手动关闭连接,而是由 SQLAlchemy 自动管理连接的生命周期。原创 2024-06-28 16:51:58 · 1107 阅读 · 0 评论 -
时间格式数据向前或向后归于整时
在上面的代码中,我们首先将时间字符串转换为datetime对象,然后使用replace()方法将分钟和秒数设置为0,即向前归整于整时。最后,我们将datetime对象转换为时间字符串,并将其存储到变量new_time_str中。在上面的代码中,我们首先将时间字符串转换为datetime对象,然后使用replace()方法将分钟和秒数设置为0,即向前归整于整时。最后,我们将datetime对象转换为时间字符串,并将其存储到变量new_time_str中。如果时间字符串的格式不同,需要根据具体情况进行调整。原创 2024-05-15 23:20:37 · 235 阅读 · 0 评论 -
DataFrame表格将最后六列的数据,先字符串改成浮点数据然后逐行求和,最后合并表格
假设你使用的是Python中的pandas库,可以使用sum()方法对指定的列进行求和操作,然后使用iloc属性选取最后六列,再使用sum()方法对每一行进行求和操作。# 读取数据# 选取最后六列并求和# 输出结果其中,axis=1参数表示对每一行进行求和操作。# 选取数值类型的列并求和可以使用Pandas库中的astype()函数将DataFrame表格中的字符串数据转换为浮点数,然后使用sum()函数逐行求和。# 读取DataFrame表格# 将最后六列数据转换为浮点数# 逐行求和。原创 2024-03-24 12:35:45 · 475 阅读 · 0 评论 -
白箱模型、灰箱模型、黑箱模型的定义
白箱模型、灰箱模型和黑箱模型是在系统建模和分析中常用的概念。原创 2024-01-01 12:13:55 · 3567 阅读 · 0 评论 -
数据预处理中,异常值的检测方法
在数据预处理中,异常值(outlier)是指与其他数据明显不同的数据点,它们可能是由于测量误差、数据录入错误、样本选取错误或者随机事件等原因导致的。总之,在数据预处理中,异常值检测是一个重要的步骤,可以帮助我们识别数据集中的异常值,并对其进行处理或排除,从而提高数据的质量和可信度。需要根据数据的特点和需求,选择合适的异常值检测方法。LOF算法:LOF(Local Outlier Factor)算法是一种基于密度的异常值检测方法,它通过计算每个数据点周围的密度来判断数据点是否为异常值。原创 2023-12-30 09:00:00 · 687 阅读 · 0 评论 -
将表格按照年月进行归纳统计
原有的表格会给字符串格式的年月日时间。原创 2023-12-09 10:29:10 · 107 阅读 · 0 评论 -
Python pandas对表格进行整行整列筛选、删除或修改,对特定值进行修改
Pandas库有两个数据类型: Series, DataFrame。原创 2023-11-25 15:54:50 · 2381 阅读 · 0 评论 -
Pyrthon中pandas DataFrame对表格数据选取,修改,切片的实现
综上所述,ix方法几乎可以实现所有情况中数据子集的获取,是iloc和loc两种方法的优点合成体,而且对于行号与行名称一致的数据集来说(如df1数据集),名称索引的优先级在位置索引之前(如本节第一段代码中的df1.ix[1:3,[0,2]])。通常,在Pandas模块中实现数据框子集的获取可以使用iloc、loc和ix三种“方法”,这三种方法既可以对数据行进行筛选,也可以实现变量的挑选,它们的语法可以表示成[rows_select,cols_select]。注意:ix方法已经过时了,建议使用前两个。原创 2023-11-18 09:00:00 · 651 阅读 · 0 评论 -
图书数据中选取个人借书信息代码
import pandas as pdfrom string import *#PATRON_ID是学生个人ID,ITEM_CALLNO中的英文字母是图书的类别,LOAN_DATE是借书日期##图书类别:A马克思主义、列宁主义、毛泽东思想、邓小平理论;B哲学、宗教;C 社会科学总论;D 政治、法律;F 经济;G 文化、科学、教育、体育;##H 语言、文字;I 文学;J 艺术;K 历史、地理;N 自然科学总论;O 数理科学和化学;Q 生物科学;R 医药、卫生;S 农业科学;T-TN 工业技术;##原创 2022-03-15 19:26:40 · 894 阅读 · 1 评论 -
图书馆的藏书分类代码
生成索书号、馆藏地、价格等总表import xlrdimport xlsxwriterimport timeimport datetimeimport copydef wt_xls(n_list): n=n_list.split(",") return ndef poplist(li): new_list=li.copy() a="" for _ in range(6): del new_list[0] for _ in rang原创 2022-01-19 10:56:16 · 703 阅读 · 0 评论 -
人类(行为)动力学(3)——分布规律
人类行为动力学分布规律随着数据存储能力、数据挖掘算法和分析处理技术的长期发展和广泛应用,人们从大量数据中总结出不同的分布规律。1、指数分布虽然许多人对人类行为动力学的研究都倾向于胖尾分布,但是仍有少数学者发现排队论中经典模型仍然适用。樊超等人对国内两所不同大学图书馆的真实借阅记录为研究对象进行统计分析,发现读者的图书借阅时间具有随机性和均匀性。2、幂律分布在过去,出于对问题的简化,人们认为人类行为的发生是均匀的,长时间的静默和短时间的爆发都可被忽略。也就是说人类行为可由泊松过程刻画,即行为发原创 2021-06-16 09:49:28 · 4258 阅读 · 0 评论 -
人类(行为)动力学(2)——主要分析指标
人类动力学主要分析指标人类动力学主要分析指标有:时间间隔、阵发性、记忆性、活跃度和波动性。时间间隔时间间隔是连续发生的两次行为之间的时间差。阵发性阵发性是指某一事件常常在短期内频繁出现,然后又在很长的一段时间里销声匿迹。即具有非持续性。其中,στ——时间间隔分布的标准差,mτ——时间间隔分布的平均值。阵发性的取值范围为[-1,1],越接近 1 表明阵发性越强。记忆性记忆性是指某一行为是否会受到过去该行为的影响,即:较长的时间间隔会导致其下一次的时间间隔也较长,而较短的时间间隔会导原创 2021-06-15 14:09:07 · 1044 阅读 · 0 评论 -
人类(行为)动力学(1)——初步了解
人类动力学发展史长久以来,对人类行为的研究吸引了包括心理学、社会学、社会心理学、人类学在内的众多学科的共同关注,得到了大量的定性研究成果。这些研究成果有助于揭示人类行为的普遍规律,以便对其进行有效控制和预测,使人按照一定的社会生产和生活的需要来行动,既能维持社会生活的正常秩序,又能更好地促进社会和人类自身的发展。由于人是一个系统的存在,而这个系统又可以继续划分为人的个体性和社会性两个子系统,而“整个世界是相互联系的”正是系统理论的一个核心观点,因此利用系统理论和复杂性科学解释人类行为成了一个新兴的研究热原创 2021-06-14 09:31:51 · 3947 阅读 · 1 评论 -
Python数据分析与挖掘——回归模型的诊断
当回归模型构建好之后,并不意味着建模过程的结束,还需要进一步对模型进行诊断,目的就是使诊断后的模型更加健壮。统计学家在发明线性回归模型的时候就提出了一些假设前提,只有在满足这些假设前提的情况下,所得的模型才是合理的。本节的主要内容就是针对如下几点假设,完成模型的诊断工作:误差项 ε 服从正态分布。无多重共线性。线性相关性。误差项 ε的独立性。方差齐性。除了上面提到的五点假设之外,还需要注意的是,线性回归模型对异常值是非常敏感的,即模型的构建过程非常容易受到异常值的影响,所以诊断过程中还需要对原创 2021-03-06 10:53:50 · 5009 阅读 · 3 评论 -
Python数据分析与挖掘——交叉验证法
交叉验证(Cross-validation)主要用于建模应用中,例如PCR (主成分回归)、PLS (偏最小二乘)回归建模中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。...原创 2021-02-28 17:33:31 · 8498 阅读 · 2 评论 -
Python数据分析与挖掘——回归模型的假设检验
模型的显著性检验是指构成因变量的线性组合是否有效,即整个模型中是否至少存在一个自变量能够真正影响到因变量的波动。该检验是用来衡量模型的整体效应。回归系数的显著性检验是为了说明单个自变量在模型中是否有效,即自变量对因变量是否具有重要意义。这种检验则是出于对单个变量的肯定与否。模型的显著性检验和回归系数的显著性检验分别使用统计学中的F检验法和t检验法,接下来将介绍有关F检验和t检验的理论知识和实践操作。1. 模型的显著性检验——F检验在统计学中,有关假设检验的问题,都有一套成熟的步骤。首先来看一下如何应用原创 2021-02-28 12:37:42 · 5093 阅读 · 0 评论 -
Python中机器学习神器——sklearn模块
参考文章Python机器学习笔记:sklearn库的学习ML神器:sklearn的快速使用机器学习与Sklearn的初识传统的机器学习任务从开始到建模的一般流程是:获取数据 → 数据预处理 → 训练建模 → 模型评估 → 预测,分类。Skikit-learn算法库由图中,可以看到库的算法主要有四类:分类,回归,聚类,降维。其中:常用的回归:线性、决策树、SVM、KNN ;常用的分类:线性、决策树、SVM、KNN,朴素贝叶斯;既可以回归也可以分类的算法:随机森林、Adaboost、Gr原创 2021-02-28 08:45:56 · 7762 阅读 · 0 评论 -
Python数据分析与挖掘——线性回归预测模型
线性回归模型属于经典的统计学模型,该模型的应用场景是根据已 知的变量(自变量)来预测某个连续的数值变量(因变量)。例如,餐 厅根据每天的营业数据(包括菜谱价格、就餐人数、预定人数、特价菜 折扣等)预测就餐规模或营业额;网站根据访问的历史数据(包括新用 户的注册量、老用户的活跃度、网页内容的更新频率等)预测用户的支 付转化率;医院根据患者的病历数据(如体检指标、药物服用情况、平 时的饮食习惯等)预测某种疾病发生的概率。站在数据挖掘的角度看待线性回归模型,它属于一种有监督的学习 算法,即在建模过程中必须同时具原创 2021-02-27 11:20:46 · 42454 阅读 · 3 评论 -
Python等级考试中的一道简单的血压数据处理题
代码:所处理的数据仅局部图所示import pandas as pdimport numpy as nptxt = pd.read_table('C:/Users/ASUS/Desktop/血压.txt', sep=',', encoding='gbk')print('符合条件的记录为:',end='')for data_list in np.array(txt): if data_list[1] < 140 and data_list[3] > 75: p.原创 2020-11-21 21:11:24 · 2615 阅读 · 0 评论 -
用matplotlib画复杂的二维数学函数坐标图像
一、笛卡尔心形图import numpy as npimport matplotlib.pyplot as plta = 1t = np.linspace(0, 2*np.pi)X = a*(2*np.cos(t) - np.cos(2*t))/2Y = a*(2*np.sin(t) - np.sin(2*t))plt.plot(Y, X, c = 'r')plt.show()结果:二、三叶草图形from numpy import *import matplotlib.py原创 2020-11-21 17:15:42 · 1550 阅读 · 0 评论 -
Python数据处理中关于离散变量的处理——因子化、One-Hot、哑变量
为了这份Python数据预处理教程,我熬了三天三夜!Python机器学习-数据预处理技术(标准化处理、归一化、二值化、独热编码、标记编码)在数据进行建模分析,无法直接把类别变量放入模型中去分析,因此,需要对类别变量进行处理。最常见的方法是对类别变量做因子化处理、哑变量编码或one-hot编码、目标编码。还有将连续性变量变成离散型的。在机器学习问题中,我们通过训练数据集学习得到的其实就是一组模型的参数,然后通过学习得到的参数确定模型的表示,最后用这个模型再去进行我们后续的预测分类等工作。在模型训练过程原创 2020-10-08 23:22:57 · 7644 阅读 · 0 评论 -
线性函数与非线性函数的区别,线性模型与非线性模型的区别
一、线性函数与非线性函数的区别线性Line,是指量与量之间按照比例成直线关系,在数学上可理解为一阶导数是个常数;非线性non-line则指不按照比例不成直线关系,一阶导数不为常数。参考链接:机器学习中的线性和非线性判断这篇博客的结论是:下面可以快速判断是为非线性的三种常见情况:(变量)^n,且n不为1|变量| 有变量在绝对值內的为非线性sgn(变量) 有变量在符号函数之内做一点补充理解:线性定义:F(ax+y) = aF(x) + F(y),x,y为变量,a为常数;问题:一个原创 2020-10-03 16:01:46 · 19758 阅读 · 10 评论 -
python中使用scipy.integrate求积分、二重积分、三重积分
python中使用scipy.integrate求积分、二重积分、三重积分代码如下:import numpy as npfrom scipy.integrate import quad, tplquad, dblquad# 积分val1, err1 = quad(lambda x: np.sin(x), # 函数 0, # x下界0 np.pi # x上界pi,np.pi为正无穷 )原创 2020-09-24 08:33:30 · 2647 阅读 · 0 评论 -
Python数值计算工具 ——Numpy(调用常用的数学和统计函数)
0、前言python基础语法中有讲解有关存储数据的列表对象,但是其无法直接参与数值运算(虽然可以使用加法和乘法,但分别代表列表元素的增加和重复)。本文将介绍另一种非常有用的数据结构,那就是数组,通过数组可以实现各种常见的数学运算,而且基于数组的运算,也是非常高效的。 本章的重点是讲解有关Python数值运算的numpy模块,通过numpy模块的学习,你将掌握如下几方面的内容,进而为后面的统计运算和机器学习打下基础:数组的创建与操作;数组的基本数学运算;常用数学和统计函数;线性代数的求解;伪随原创 2020-09-10 18:42:34 · 1862 阅读 · 1 评论 -
Python数据可视化的例子——画图总结
前面写了大量的文章是关于数据的可视化,通过每一个具体的案例介绍了有关matplotlib模块、pandas模块和seaborn模块的绘图函数和参数含义,分别针对离散型数据、数值型数据和关系型数据讲解了最为常用的可视化图形,包括饼图、条形图、直方图、核密度曲线、箱线图、小提琴图、折线图、散点图、气泡图和热力图。最后,借助于subplot2grid函数实现各种模块下图形的组合。通过Python完成数据可视化的模块还有很多种,例如ggplot、bokeh、pygal、plotly等,读者可以前往各自的官网查看详原创 2020-09-09 22:03:52 · 1122 阅读 · 0 评论 -
Python数据可视化的例子——多个图形的合并
工作中往往会根据业务需求,将绘制的多个图形组合到一个大图框内,形成类似仪表板的效果。针对这种情况,如何应用Python将前面所学的各种图形汇总到一个图表中,这将是本节所要学习的重点。关于多种图形的组合,可以使用matplotlib模块中的subplot2grid函数。这个函数的灵活性非常高,构成的组合图既可以是m×n的矩阵风格,也可以是跨行或跨列的矩阵风格。接下来,对该函数的用法和参数含义加以说明:subplot2grid(shape, loc, rowspan=1, colspan=1, **kwar原创 2020-09-09 18:15:49 · 6281 阅读 · 4 评论 -
Python数据可视化的例子——热力图(heatmap)
(关系型数据的可视化)热力图体现了两个离散变量之间的组合关系热力图,有时也称之为交叉填充表。该图形最典型的用法就是实现列联表的可视化,即通过图形的方式展现两个离散变量之间的组合关系。读者可以借助于seaborn模块中的heatmap函数,完成热力图的绘制。按照惯例,首先对该函数的用法及参数含义做如下解释:heatmap(data, vmin=None, vmax=None, cmap=None, center=None, annot=None, fmt='.2g', annot_kws=N原创 2020-09-09 16:20:57 · 33211 阅读 · 11 评论 -
Python数据可视化的例子——气泡图(bubble)
(关系型数据的可视化)气泡图是散点图中的一种类型,可以展现三个数值变量之间的关系之前的文章有介绍过一般的散点图都是反映两个数值型变量的关系,所以如果还想通过散点图添加第三个数值型变量的信息,一般可以使用气泡图。气泡图的实质就是通过第三个数值型变量控制每个散点的大小,点越大,代表的第三维数值越高,反之亦然。接下来将会介绍如何通过Python绘制气泡图。1、matplotlib模块在上一篇散点图文章中,应用matplotlib模块中的scatter函数绘制了散点图,本文将继续使用该函数绘制气泡图。要实原创 2020-09-09 15:24:44 · 20853 阅读 · 2 评论 -
Python数据可视化的例子——散点图(scatter)
(关系型数据的可视化)散点图用于发现两个数值变量之间的关系如果需要研究两个数值型变量之间是否存在某种关系,例如正向的线性关系,或者是趋势性的非线性关系,那么散点图将是最佳的选择。1.matplotlib模块matplotlib模块中的scatter函数可以非常方便地绘制两个数值型变量的散点图。这里首先将该函数的语法及参数含义写在下方,以便读者掌握函数的使用:scatter(x, y, s=20, c=None, marker='o', cmap=None, norm=None, vmin=None原创 2020-09-08 22:03:13 · 19530 阅读 · 0 评论 -
Python数据可视化的例子——折线图(line)
对于时间序列数据而言,一般都会使用折线图反映数据背后的趋势。通常折线图的横坐标指代日期数据,纵坐标代表某个数值型变量,当然还可以使用第三个离散变量对折线图进行分组处理。接下来仅使用Python中的matplotlib模块和pandas模块实现折线图的绘制。尽管seaborn模块中的tsplot函数也可以绘制时间序列的折线图,但是该函数非常不合理,故不进行介绍。1.matplotlib模块折线图的绘制可以使用matplotlib模块中的plot函数实现。关于该函数的语法和参数含义如下:plt.plot(原创 2020-09-08 15:39:56 · 44298 阅读 · 3 评论 -
matplotlib命令与格式:图例legend语法及设置
1.图例legend基础语法及用法legend语法参数如下: matplotlib.pyplot.legend(*args, **kwargs)(1)设置图例位置使用loc参数plt.legend(loc=‘lower left’)(2)设置图例字体#设置字体大小fontsize : int or float or {‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’}(3)设置图例边框及背原创 2020-09-07 22:03:51 · 4098 阅读 · 0 评论 -
Python数据可视化的例子——小提琴图(violin)
小提琴图是比较有意思的统计图形,它将数值型数据的核密度图与箱线图融合在一起,进而得到一个形似小提琴的图形。尽管matplotlib模块也提供了绘制小提琴图的函数violinplot,但是绘制出来的图形中并不包含一个完整的箱线图,所以本节将直接使用seaborn模块中的violinplot函数绘制小提琴图。首先,带领读者了解一下有关violinplot函数的语法和参数含义:sns.violinplot(x=None, y=None, hue=None, data=None, order=None, hue_原创 2020-09-07 18:41:15 · 31972 阅读 · 29 评论 -
Python数据可视化的例子——箱线图(box)
箱线图是另一种体现数据分布的图形,通过该图可以得知数据的下须值(Q1-1.5IQR)、下四分位数(Q1)、中位数(Q2)、均值、上四分位数(Q3)和上须值(Q3+1.5IQR),更重要的是,箱线图还可以发现数据中的异常点。箱线图的绘制仍然可以通过matplotlib模块、pandas模块和seaborn模块完成,下面将一一介绍各模块绘制条形图的过程。1.matplotlib模块首先介绍一下matplotlib模块中绘制箱线图的boxplot函数,有关该函数的语法和参数含义如下:plt.boxplot原创 2020-09-03 12:09:57 · 8850 阅读 · 3 评论 -
Python数据挖掘与分析——泰坦尼克号
参考文章:python代写缺失值处理案例分析:泰坦尼克数据kaggle泰坦尼克号生存预测(附代码、数据集和答案)tableau篇之泰坦尼克号年龄分布表格化分析转载 2020-08-28 09:20:59 · 1179 阅读 · 0 评论 -
Python数据可视化的例子——直方图(hist)和核密度曲线(kde)
直方图一般用来观察数据的分布形态,横坐标代表数值的均匀分段,纵坐标代表每个段内的观测数量(频数)。一般直方图都会与核密度图搭配使用,目的是更加清晰地掌握数据的分布特征,下面将详细介绍该类型图形的绘制。1.matplotlib模块matplotlib模块中的hist函数就是用来绘制直方图的。关于该函数的语法及参数含义如下:plt.hist(x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=原创 2020-08-24 08:39:05 · 50965 阅读 · 15 评论 -
Python数据可视化的例子——条形图(bar)
1.matplotlib模块应用matplotlib模块绘制条形图,需要调用bar函数,关于该函数的语法和参数含义如下:bar(x, height, width=0.8, bottom=None, color=None, edgecolor=None, linewidth=None, tick_label=None, xerr=None, yerr=None, label = None, ecolor=None, align, log=False, **kwargs)x:传递数值序列,原创 2020-08-17 13:36:29 · 43835 阅读 · 11 评论 -
Python数据可视化的例子——饼图(pie)
一、离散型变量的可视化之**【饼图】**代码如下:import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['Microsoft YaHei'] #显示中文标签,处理中文乱码问题plt.rcParams['axes.unicode_minus']=False #坐标轴负号的处理plt.axes(aspect='equal') #将横、纵坐标轴标准化处理,确保饼图是一个正圆,否则为椭圆#构造数据edu = [0.25原创 2020-08-08 19:22:51 · 38314 阅读 · 1 评论 -
Python数据可视化——matplotlib绘制的图里面不能正常显示中文,提示警告的解决方法
运行下列代码:import matplotlib.pyplot as pltedu = [0.2515,0.3724,0.3336,0.0368,0.0057]labels = ['中专','大专','本科','硕士','其他']plt.pie(x=edu,labels=labels,autopct='%.1f%%')plt.show()会出现:RuntimeWarning: Glyph 20013 missing from current font. font.set_text(原创 2020-08-08 16:55:48 · 1303 阅读 · 0 评论