自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FreedomLeo1的博客

Python数据分析,Java springboot后端开发,人工智能,js

  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python机器学习笔记(二十一、专家知识)

也就是说,在划分训练集和测试集的时候,希望使用某个特定日期之前的所有数据作为训练集,该日期之后的所有数据作为测试集。测试集中POSIX 时间特征的值超出了训练集中特征取值的范围:测试集中数据点的时间戳要晚于训练集中的所有数据点。领域专家可以帮助找出有用的特征,例如:旅行社的工作人员想要预测机票价格,假设有价格以及日期、航空公司、出发地和目的地的记录,机器学习模型可能从这些记录中构建一 个相当不错的模型,但可能无法学到机票价格中的某些重要因素,比如在度假高峰月份和假日期间,机票价格通常更高。

2025-01-14 11:24:56 769

原创 Python机器学习笔记(二十、自动化特征选择)

计算阈值的方法各有不同,最简单的是SelectKBest和SelectPercentile,前者选择固定数量的k个特征,后者选择固定百分比的特征。其中一种特殊方法是递归特征消除(recursive feature elimination,RFE),它从所有特征开始构建模型,并根据模型舍弃最不重要的特征,然后使用未被舍弃特征来构建一个新模型,如此继续,直到仅剩下预设数量的特征。在添加新特征或处理一般的高维数据集时,最好将特征的数量减少到只包含最有用的那些特征,并删除其余特征。但原始特征的还原并不完美。

2025-01-13 10:58:31 1062

原创 Python机器学习笔记(十九、单变量非线性变换)

对回归的目标变量y进行变换有时非常有用,比如尝试预测计数(订单数量)是一项相当常见的任务,这里使用 log(y + 1) 变换往往很有用。从以上笔记的例子中可以看出,分箱、多项式和交互项都对模型在给定数据集上的性能有很大影响,对于复杂度较低的模型更是这样,比如线性模型和朴素贝叶斯模型。基于树的模型只关注特征的顺序,线性模型和神经网络依赖于每个特征的尺度和分布。不过应用对数变换可能有用。从上面输出可以看出,数字2似乎是最常见的,共出现了68次(bincount始终从0开始),更大数字的出现次数快速下降。

2025-01-10 09:18:06 694

原创 Python机器学习笔记(十八、交互特征与多项式特征)

学到的斜率是向下的,并且在所有箱子中都相同——只有一个x轴特征,也就只有一个斜率。为了实现这一点,我们可以添加交互特征或乘积特征,用来表示数据点所在的箱子以及数据点在x轴上的位置。可以看到,X_poly 的第一列与 X 完全对应,而其他列则是第一列的幂。这个数据集现在有20个特征:数据点所在箱子的指示符与原始特征和箱子指示符的乘积。使用更加复杂的模型(即核 SVM),能够学到一个与多项式回归的复杂度类似的预测结果,且不需要进行显式的特征变换。输出的图形是使用分箱特征和单一全局斜率的线性回归。

2025-01-09 22:44:57 949

原创 Python机器学习笔记(十七、分箱、离散化、线性模型与树)

因为每个箱子内的特征是不变的,所以对于一个箱子内的所有点,任何模型都会预测相同的值。比较对特征进行分箱前后模型学到的内容,我们发现,线性模型变得更加灵活了,因为现在它对每个箱子具有不同的取值,而决策树模型的灵活性降低了。有一种方法可以让线性模型在连续数据上变得更加强大,就是使用特征分箱(binning,也叫离散化discretization)将其划分为多个特征,即:假设将特征的输入范围(在这个例子中是从-3到3)划分成固定个数的箱子(bin), 比如10个,那么数据点就可以用它所在的箱子来表示。

2024-12-30 11:38:25 773

原创 Python机器学习笔记(十六、数据表示与特征工程-分类变量)

在机器学习的过程中,我们一般假设数据是由浮点数组成的二维数组,每一列描述数据点的但真实情况下,数据并不一定按照这种方式收集。一种常见的特征类型是,也叫。通常这种特征并不是数值。。已经见过的连续特征的例子包括图像像素明暗程度和鸢尾花的尺寸测量。分类特征的例子包括某种产品的品牌、颜色或销售部门(图书、服装、硬件)。这些都是描述一件产品的属性,它们不以连续的方式变化。一件产品要么属于服装部门,要么属于图书部门。

2024-12-28 22:43:48 1574

原创 Python机器学习笔记(十五、聚类算法的对比和评估)

回到人脸图像的例子,我们希望找到类似人脸的分组,比如男人和女人、老人和年轻人,或者有胡子的人和没胡子的人。分解、流形学习和聚类都是加深数据理解的重要工具,在没有监督信息的情况下,也是理解数据的仅有的方法。有一些分支代表更为不同的组,但似乎没有一个特别合适的簇的数量。这些是人脸数据集中被DBSCAN标记为噪声的样本,将这些图像与随机选择的人脸图像样本进行比较,我们可以猜测它们被标记为噪声的原因:第2行第9张图像显示一个人正在用玻璃杯喝水,还有人戴帽子的图像,在第2行第6张图像中,人脸前面有一只手。

2024-12-27 16:30:20 1069

原创 Python机器学习笔记(十四、凝聚聚类和DBSCAN)

如果距起始点的距离在 eps 之内的数据点个数小于 min_samples,那么这个点被标记为噪声(noise),也就是说它不属于任何簇。DBSCAN 的主要优点:不需要用户先验地设置簇的个数,可以划分具有复杂形状的簇,还可以找出不属于任何簇的点。最后,一共有三种类型的点:核心点、与核心点的距离在 eps 之内的点(叫作边界点, boundary point)和噪声。因此,边界点所属的簇依赖于数据点的访问顺序。scikit-learn中实现的停止准则是簇的个数,因此相似的簇被合并,直到仅剩下指定个数的簇。

2024-12-27 11:58:06 1408

原创 Python机器学习笔记(十三、k均值聚类)

k均值还有一个缺点,就是对簇形状的假设的约束性较强,而且还要求指定所要寻找的簇的个数(在现实世界的应用中可能并不知道这个数字)。算法交替执行以下两个步骤:将每个数据点分配给最近的簇中心,然后将每个簇中心设置为所分配的所有数据点的平均值。我们将其应用于上图中的模拟数据,将KMeans 类实例化,并设置我们要寻找的簇个数3(如果不指定n_clusters,它的默认值是 8)。此图是:利用 100 个分量(或簇中心)的 k 均值、PCA 和 NMF 的图像重建的对比——k 均值的每 张图像中仅使用了一个簇中心。

2024-12-26 19:02:35 807

原创 Python机器学习笔记(十二、用t-SNE进行流形学习)

t-SNE背后的思想是找到数据的一个二维表示,尽可能地保持数据点之间的距离。t-SNE首先给出每个数据点的随机二维表示,然后让在原始特征空间中距离较近的点更加靠近,原始特征空间中相距较远的点更加远离。t-SNE重点关注距离较近的点,而不是保持距离较远的点之间的距离。PCA通常是用于变换数据的首选方法,使我们能够用散点图将其可视化,但这一方法的性质(先旋转然后减少方向)限制了其有效性,就像在上一次学习 Wild 数据集 Labeled Faces 的散点图中所看到的那样。t-SNE的结果非常棒。

2024-12-24 11:56:35 357

原创 Python机器学习笔记(十一、特征提取)

特征提取PCA 的另一个应用是特征提取。特征提取背后的思想是,可以找到一种数据表示,比给定的原始表示更适合于分析。特征提取很有用,它的一个很好的应用实例就是图像。图像由像素组成,通常存储为红绿蓝(RGB)强度。图像中的对象通常由上千个像素组成,它们只有放在一起才有意义。现在学习使用 PCA 对图像做特征提取的一个简单示例,处理 Wild 数据集 Labeled Faces (标记人脸)中的人脸图像。这一数据集包含从互联网下载的名人脸部图像,它包含从 21 世纪初开始的政治家、歌手、演员和运动员的人脸图像。(

2024-12-24 11:26:57 1097

原创 Python机器学习笔记(十、降维、特征提取与流形学习)

在二维空间中,只有一个成直角的方向,但在更高维的空间中会有(无穷)多的正交方向。每张图都包含两个直方图,一个是良性类别的所有点(蓝色),一个是恶性类别的所有点(红色)。可以看到,在第一个主成分中,所有特征的符号相同(均为正,但前面我们提到过,箭头指向哪个方向无关紧要)。在 PCA 找到的旋转表示中,两个坐标轴是不相关的,也就是说,对于这种数据表示,除了对角线,相关矩阵全部为零。但要注意,我们没有保留原始特征之一,而是找到了最有趣的方向(第一张图中从左上到右下)并保留这一方向,即第一主成分。

2024-12-19 10:15:40 976

原创 Python机器学习笔记(九、无监督学习-预处理与缩放)

数据集的无监督变换(unsupervised transformation)是创建数据新的表示的算法,与数据的原始表示相比,新的表示可能更容易被人或其他机器学习算法所理解。无监督变换的一个常见应用是降维(dimensionality reduction),它接受包含许多特征的数据的高维表示,并找到表示该数据的一种新方法,用较少的特征就可以概括其重要特性。也就是说,transform 方法总是减去训练集的最 值,然后除以训练集的范围,而这两个值可能与测试集的最小值和范围并不相同。但现在数据集看起来不一样。

2024-12-17 11:55:07 896

原创 Python机器学习笔记(八、分类器的不确定度估计)

总之,predict_proba 和 decision_function 的形状始终相同, 都是 (n_samples, n_ classes)——除了二分类特殊情况下的 decision_function。因此,如果盲目地将一个算法应用于数据集,而不去理解模型所做的假设以及参数设定的含义,不太可能会得到精度高的模型。多分类中,decision_function 的形状为 (n_samples, n_classes),每一列对应每个类别的“确定度分数”,分数较高的类别可能性更大,得分较低的类别可能性较小。

2024-12-16 14:32:19 758

原创 Python机器学习笔记(七、深度学习-神经网络)

如果使用包含 1000 个隐单元的单隐层,那么在输入层和隐层之间需要学习 100 * 1000 = 100 000 个权重, 隐层到输出层之间需要学习 1000 * 1 = 1000 个权重,总共 101 000 个权重。这些内容定义了我们想要学习的模型。先学习较为简单的深度学习算法,用于分类和回归的多层感知机(multilayer perceptron,MLP),它可以作为研究更复杂的深度学习方法的起点。图中,左边的每个结点代表一个输入特征,连线代表学到的系数,右边的结点代表输出, 是输入的加权求和。

2024-12-15 18:23:25 1264

原创 Python机器学习笔记(六、核支持向量机)

一种对高斯核的解释是它考虑所有阶数的所有可能的多项式,但阶数越高,特征的重要性越小。小的 gamma 值表示决策边界变化很慢,生成的是复杂度较低的模型,而大的 gamma 值则会生成更为复杂的模型。可以看到,左上角的图中,决策边界看起来几乎是线性的,误分类的点对边界几乎没有任何影响。幸运的是,有一种巧妙的数学技巧,让我们可以在更高维空间中学习分类器,而不用实际计算可能非常大的新的数据表示。C 参数是正则化参数,与线性模型中用到的类似,它限制每个点的重要性(或者更确切地说,每个点的 dual_coef_)。

2024-12-12 21:23:23 953 1

原创 Python机器学习笔记(五、决策树集成)

即使是非常大的数据集,随机森林的表现通常也很好, 训练过程很容易并行在功能强大的计算机的多个 CPU 内核上。每棵树只能对部分数据做出好的预测,因此,添加的树越来越多,可以不断迭代提高性能。背后的思想是,每棵树的预测可能都相对较好,但可能对部分数据过拟合, 如果构造很多树,并且每棵树的预测都很好,但都以不同的方式过拟合,那么可以对这些树的结果取平均值来降低过拟合。使用更多的 CPU 内核,可以让速度线性增加 (使用 2 个内核,随机森林的训练速度会加倍),但设置 n_jobs 大于内核个数是没有用的。

2024-12-07 17:29:46 757

原创 Python机器学习笔记(四、监督学习算法:朴素贝叶斯分类器和决策树)

虽然我们主要讨论的是用于分类的决策树,但对用于回归的决策树来说,所有内容都是类似的,在 DecisionTreeRegressor 中实现,回归树的用法和分析与分类树非常类似。观察 worst radius

2024-12-05 20:39:25 1536

原创 Python机器学习笔记(三、监督学习算法 线性回归)

线性模型在实践中被广泛使用和研究,有一百多年的历史了。线性模型利用输入特征的线性函数(linear function)进行预测。1. 用于回归的线性模型回归问题的线性模型预测一般公式如下:这里 x[0] 到 x[p] 表示单个数据点的特征(本例中特征个数为 p+1),w 和 b 是学习模型的参数,ŷ 是模型的预测结果。单一特征的数据集,公式如下:这是高中数学里的直线方程。 w[0] 是斜率,b 是 y 轴偏移。对于有多特征的数据集,w 包含沿每个特征坐标轴的斜率。或者,可以将预测的响应值看作输入特征的加权

2024-12-02 15:10:30 948

原创 Python机器学习笔记(二、监督学习算法基础)

换句话说,使用更少的邻居对应更高的模型复杂度,而使用更多的邻居对应更低的模型复杂度。假如考虑极端情况,即邻居个数等于训练集中所有数据点的个数, 那么每个测试点的邻居都完全相同(即所有训练点),所有预测结果也完全相同(即训练集中出现次数最多的类别)。利用单一邻居的预测结果就是最近邻的目标值。模型复杂度与训练数据集中输入的变化密切相关:数据集中包含的数据点的变化范围越大,在不发生过拟合的前提下可以使用的模型就越复杂。通常来说,收集更多的数据点可以有更大的变化范围,所以更大的数据集可以用来构建更复杂的模型。

2024-11-28 19:57:41 1277

原创 Python机器学习笔记(一、入门初探:以k近邻算法为例)

他收集了每朵鸢尾花的一些测量数据:花瓣的长度和宽度,花萼的长度和宽度,测量结果的单位都是厘米。矩阵的对角线是每个特征的直方图。对于这个模型来说,测试集的精度约为 0.97,也就是说,对于测试集中的鸢尾花,我们的预测有 97% 是正确的。要对一个新的数据点做出预测,算法会在训练集中寻找与这个新数据点距离最近的数据点,然后将找到的数据点的标签赋值给这个新数据点。k 近邻算法中 k 的含义是,可以考虑训练集中与新数据点最近的任意 k 个邻居(比如说,距离最近的 3 个或 5 个邻居),而不是只考虑最近的那一个。

2024-11-27 16:13:17 1421

原创 Python数据分析实例五、US 大选捐款数据分析

此数据包括供款和退款,为了简化分析,我们将数据集限制为正贡献(捐款)。从上面的职业输出可以看出,许多人的职业名称虽然不同,但指的是相同的基本工作类型。下面我们用代码实现从一个职业映射到另一个职业来,清理其中一些相同类型职业。按职业划分的捐款量是一个经常被研究的统计数据。例如,律师倾向于向民主党人捐赠更多的钱,而企业高管倾向于向共和党人捐赠更多。该数据显示,奥巴马收到的小额捐款数量明显多于罗姆尼。数据中没有政党隶属关系,因此添加此关系数据非常有用。以上,排除了两个最大的垃圾桶,因为它们不是个人捐赠的。

2024-11-26 08:40:12 1336

原创 Python数据分析实例四、美国农业部食品数据库分析

现在,我们要对所有营养数据进行一些分析,最简单的方法是将每种食物的营养成分汇总到一个大表格中。首先,将每个食物营养素列表转换为 DataFrame,为食物 ID 添加一列,并将 DataFrame 附加到列表中。这种形式的数据不是特别适合分析,因此我们需要做一些工作来将数据整理成更好的形式。我们使用内置的 Python json 模块。db 中的每个条目都是一个字典,其中包含单个食物的所有数据。从 info.info() 的输出中,我们可以看到 manufacturer 列中缺少部分数据。

2024-11-25 07:00:00 1327

原创 Python数据分析实例三、N个数据集分析与绘图

美国社会保障局 (SSA) 提供了从 1880 年至今婴儿名字频率的数据。Hadley Wickham 是几个流行的 R 包的作者,他在说明 R 中的数据操作中提供了这个数据集。这个数据集包含从1880年到2010的多个txt文件,文件命名格式为yob1880.txt,内容是:名字、性别以及名字出现的次数。下面是名字中最后一个字母变化的分析:2007 年,婴儿名字研究员 Laura Wattenberg 指出,在过去 100 年中,男孩名字的姓氏按最后一个字母的分布发生了重大变化。

2024-11-24 07:00:00 431

原创 Python数据分析实例二、pandas和numpy多个数据集的关联处理分析

它分布在三个表中:ratings、users 和 movies 信息(ratings.dat、users.data、movies.dat)。然后我们筛选出女性最受欢迎的电影、男性最受欢迎的电影、不分性别评价最好的电影以及按电影流派分组分析不同年龄段的人对不同流派电影的评价。实例使用大量电影评级数据集合,该数据集包含电影评级、电影元数据(流派和年份)以及有关用户的人口统计数据(年龄、邮政编码、性别识别和职业)等信息。我们不探讨机器学习技术,但将用实例展示如何将此类数据集切片和切块为我们需要的形式。

2024-11-23 07:00:00 347

原创 Python数据分析实例一、纯Python计算时区与pandas计算时区

数据集:bitly_usagov/example.txt (短URL域名服务数据集,数据格式:json)

2024-11-22 15:36:44 1117

原创 Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)

作为建模过程的一部分,可以在一个数据集上拟合模型,然后基于另一个数据集(可能是之前数据集的一部分作为测试集,也可能是后面操作后得到的数据集)评估模型。非数值数据可以通过多种不同的方式转换为模型设计矩阵。有很多方法可以进行缺失数据插补,但我们执行一个简单的方法,使用训练数据集的中位数来填充两个数据表中的 null 值。虽然上面只了解了一些 Python 建模库的皮毛,但越来越多的框架用于各种统计和机器学习,我们学习建模最好的方法是熟悉各种统计或机器学习框架的官方文档,以便及时了解最新的功能和 API。

2024-11-21 21:54:07 2002 1

原创 Python数据分析NumPy和pandas(三十九、移动窗口函数)

对等权重的观测值使用固定窗口大小的另一种方法是指定一个恒定衰减因子,以便为最近的观测值提供更多权重。提供了一种在移动窗口上应用我们自己创建的数组函数的方法。以上代码先加载了stock_px.csv中的数据,选取APPL、MSFT、XOM列,重采样并填充值,表达式 rolling(250) 的行为类似于 groupby,但它不是分组,而是创建一个对象,该对象允许在 250 天的滑动窗口中进行分组。用于时间序列操作的一类重要的数组转换是在滑动窗口上计算的统计数据和其他函数,或者使用指数衰减的权重进行评估。

2024-11-20 09:51:52 796

原创 Python数据分析NumPy和pandas(三十八、重采样和频率转换)

这行代码reuslt_qend = annual_frame.resample("QE-DEC", convention='end').asfreq()可以修改为:reuslt_qend = annual_frame.resample("QE-DEC", label='right').asfreq()。重新采样是指将时间序列从一个频率转换为另一个频率的过程。

2024-11-20 07:00:00 2220

原创 Python数据分析NumPy和pandas(三十七、时区处理、期间和期间计算处理)

我们可以将 Period(“2023”, “Y-DEC”)视为一种指向时间跨度的游标,按月周期细分。我们可以用下图来说明。因此,大多数人选择独立于地理的国际标准UTC,时区表示为与 UTC 的偏移量,例如,中国的夏令时比UTC早一小时‌。虽然默认情况下新 PeriodIndex 的频率是从时间戳推断出来的,但我们可以指定pandas任何支持的频率。在 Python 中,时区信息来自第三方 pytz 库(可使用 pip 或 conda 安装),该库公开了 Olson 数据库,即世界时区信息的汇编。

2024-11-19 09:48:30 967

原创 Python数据分析NumPy和pandas(三十六、日期范围、频率和偏移)

pandas 中的通用时间序列是不规则的,也就是说,它们没有固定的频率。但是,我们通常希望相对于固定频率(例如每天、每月或每 15 分钟)工作,pandas 有一整套标准时间序列频率和工具,用于重采样、推断频率和生成固定频率日期范围。开始日期和结束日期为生成的日期索引定义了严格的边界。例如,“M”(日历月末)和“BME”(每月的最后一个工作日/工作日)取决于一个月的天数,在后一种情况下,取决于该月是否在周末结束。请注意,此处的 freq 参数表示要应用于时间戳的偏移量,它不会更改数据的基础频率。

2024-11-18 09:43:04 895

原创 Python数据分析NumPy和pandas(三十五、时间序列数据基础)

pandas 中的一种基本时间序列对象是由时间戳索引的 Series,它通常在 pandas 之外表示为 Python 字符串或日期时间对象。时间序列也可以是不规则的,没有固定的时间单位或单位之间的偏移量。在大多情况下,pandas.Timestamp能够替换datetime对象使用,反之则不然,因为 pandas.Timestamp 可以存储纳秒精度数据,而 datetime 最多只能存储微秒。每个时间戳都是相对于特定开始时间的时间度量,从 0 开始(例如,饼干放入烤箱后每秒烘烤的直径)。

2024-11-17 20:05:48 937

原创 Python数据分析NumPy和pandas(三十四、数据透视表和交叉表)

上面使用的使用的是pivot_table默认使用的聚合函数 mean ,要使用其他函数可以将聚合函数或函数列表传递给pivot_table的 aggfunc 关键字参数。总结:掌握 pandas 的数据分组工具的使用,对数据清理和建模以及统计分析非常有用。不过,在这之前,我们掌握时间序列数据的处理。针对之前的小费数据集tip.csv,如果我们要计算一个按行中的日期和 smoker 排列的组均值表(默认pivot_table聚合类型),可以用如下代码实现。从上面输出可以看出,列方向,All 值是列的平均值;

2024-11-17 00:21:49 792

原创 Python数据分析NumPy和pandas(三十三、Group变换和解锁GroupBy)

在这里,我们在 GroupBy 操作的多个输出之间进行算术运算,而没有编写一个函数并将其传递给 groupby(...).apply()。这就是 “unwrapped” 的含义。与 apply 一样,transform 适用于返回 Series 的函数,但结果必须与输入对象的大小相同。g.transform('mean') 输出结果与 g.transform(get_mean) 相同。先用自定义函数 get_mean()计算每组的平均值,然后用每组的平均值替换每组的元素值。

2024-11-15 14:18:08 504

原创 Python数据分析NumPy和pandas(三十二、数据拆分-应用-合并)

然后,在每个组上调用 top 函数,并使用 pandas.concat 将每个调用的结果粘合在一起,也同时使用组名称标记各个部分。注意:这些是等长的桶(bin)。在清理缺失数据时,可以使用 dropna 删除,但在其他情况下,我们希望使用固定值或从数据派生的某些值来填充空值 (NA)。在前面的示例中,生成的对象具有由组键以及原始对象的每个部分的索引组成的分层索引。最常用的 GroupBy 方法是 apply,apply 将正在操作的对象拆分为多个片段,在每个片段上调用传递给它函数,然后尝试连接这些片段。

2024-11-14 20:48:36 1282

原创 Python数据分析NumPy和pandas(三十一、数据聚合)

聚合是指从数组生成标量值的数据转换。常见的聚合见下图列表,但是,不仅限于列表中的这组方法。通过使用 DataFrame,我们可以指定要应用于所有列的函数列表或每个列的不同函数。在到目前为止的所有示例中,聚合数据都返回了一个索引,该索引可能是分层的,由唯一的组键组合而成。当然,通过对结果调用 reset_index 方法也可以实现去除索引,但是会需要一些计算,因此在分组的时候使用 as_index=False 参数可避免一些不必要的计算。可以使用自己的设计的聚合方法,也可以调用分组的对象上定义的任何方法。

2024-11-13 17:37:09 1228

原创 Python数据分析NumPy和pandas(三十、数据聚合和分组操作)

对数据集进行分类并将函数应用于每个组(无论是聚合还是转换)是数据分析工作流程的关键组成部分。加载、合并和准备数据集后,需要按组统计数据或计算数据透视表,以便进行报告或可视化。pandas 提供了多功能的 GroupBy 界面,使您能够以自然的方式对数据集进行切片、切块和汇总。关系数据库和 SQL(代表“结构化查询语言”)流行的一个原因是数据可以轻松连接、筛选、转换和聚合。但是,SQL 等查询语言对执行按组操作不是很善长。

2024-11-12 08:00:00 1628

原创 Python数据分析NumPy和pandas(二十九、其他Python可视化工具)

例如: Altair、Bokeh 和 Plotly 等工具,可以在 Python 中指定用于 Web 浏览器的动态交互式图形。如果要创建用于打印或 Web 的静态图形,建议使用 matplotlib 和基于 matplotlib 构建的库,例如 pandas 和 seaborn,以满足我们的开发和数据分析需求。总结一下:这几次记录的的目标是学习使用 pandas、matplotlib 和 seaborn 进行一些基本的数据可视化。有关数据可视化是一个活跃的研究领域,值得我们更加深入的学习。

2024-11-11 18:53:47 398

原创 Python数据分析NumPy和pandas(二十八、使用pandas和seaborn绘图)

通常的过程是将此分布近似为“内核”的混合,即更简单的分布,如正态分布。对于在绘图之前需要聚合或汇总的数据(例如我们上面的归一化操作),使用 seaborn 库可以更加简单(使用 pip install seaborn 安装)。对于条形图,一个非常有用的方法是使用 value_counts 可视化 Series 的值频率:s.value_counts().plot.bar()。DataFrame 有许多参数选项,使得对列的处理方式更加灵活,例如,是将它们全部绘制在同一个子图上,还是创建单独的子图。

2024-11-11 17:54:22 1311

原创 Python数据分析NumPy和pandas(二十七、数据可视化 matplotlib API 入门)

其中一些,如 Rectangle 和 Circle,可以在 matplotlib.pyplot 中找到,但完整的集合位于 matplotlib.patches 中。rc 的第一个参数是你想要自定义的组件,比如 “figure”, “axes”, “xtick”, “ytick”, “grid”, “legend” 等等。可以绘制适当排列的文本和箭头。这些绘图轴对象(如上面的ax1、ax2、ax3)具有创建不同类型绘图的各种方法,最好使用他们的方法来绘制图像而不是使用 plt.plot 等最顶级的绘图函数。

2024-11-09 13:04:09 1397

纽约Citi Bike运营数据集

纽约Citi Bike运营数据集

2025-01-14

美国农业部食品数据库Json格式数据

美国农业部食品数据库Json格式数据

2024-11-23

美国婴儿出生信息数据集babynames

这个数据集包含从1880年到2010的多个txt文件,文件命名格式为yob1880.txt,内容是:名字、性别以及名字出现的次数。

2024-11-23

电影评分数据集,包含从 6000 个用户对 4000 部电影收集的 100 万个评分 它分布在三个表中

电影评分数据集包含从 6000 个用户对 4000 部电影收集的 100 万个评分。它分布在三个表中:ratings、users 和 movies 信息(ratings.dat、users.data、movies.dat)。

2024-11-22

2011年URL缩短服务JSON数据集

2011年URL缩短服务JSON数据集

2024-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除