FreedomLeo1
这个作者很懒,什么都没留下…
展开
-
Python数据分析实例五、US 大选捐款数据分析
此数据包括供款和退款,为了简化分析,我们将数据集限制为正贡献(捐款)。从上面的职业输出可以看出,许多人的职业名称虽然不同,但指的是相同的基本工作类型。下面我们用代码实现从一个职业映射到另一个职业来,清理其中一些相同类型职业。按职业划分的捐款量是一个经常被研究的统计数据。例如,律师倾向于向民主党人捐赠更多的钱,而企业高管倾向于向共和党人捐赠更多。该数据显示,奥巴马收到的小额捐款数量明显多于罗姆尼。数据中没有政党隶属关系,因此添加此关系数据非常有用。以上,排除了两个最大的垃圾桶,因为它们不是个人捐赠的。原创 2024-11-26 08:40:12 · 1336 阅读 · 0 评论 -
Python数据分析实例四、美国农业部食品数据库分析
现在,我们要对所有营养数据进行一些分析,最简单的方法是将每种食物的营养成分汇总到一个大表格中。首先,将每个食物营养素列表转换为 DataFrame,为食物 ID 添加一列,并将 DataFrame 附加到列表中。这种形式的数据不是特别适合分析,因此我们需要做一些工作来将数据整理成更好的形式。我们使用内置的 Python json 模块。db 中的每个条目都是一个字典,其中包含单个食物的所有数据。从 info.info() 的输出中,我们可以看到 manufacturer 列中缺少部分数据。原创 2024-11-25 07:00:00 · 1325 阅读 · 0 评论 -
Python数据分析实例三、N个数据集分析与绘图
美国社会保障局 (SSA) 提供了从 1880 年至今婴儿名字频率的数据。Hadley Wickham 是几个流行的 R 包的作者,他在说明 R 中的数据操作中提供了这个数据集。这个数据集包含从1880年到2010的多个txt文件,文件命名格式为yob1880.txt,内容是:名字、性别以及名字出现的次数。下面是名字中最后一个字母变化的分析:2007 年,婴儿名字研究员 Laura Wattenberg 指出,在过去 100 年中,男孩名字的姓氏按最后一个字母的分布发生了重大变化。原创 2024-11-24 07:00:00 · 430 阅读 · 0 评论 -
Python数据分析实例二、pandas和numpy多个数据集的关联处理分析
它分布在三个表中:ratings、users 和 movies 信息(ratings.dat、users.data、movies.dat)。然后我们筛选出女性最受欢迎的电影、男性最受欢迎的电影、不分性别评价最好的电影以及按电影流派分组分析不同年龄段的人对不同流派电影的评价。实例使用大量电影评级数据集合,该数据集包含电影评级、电影元数据(流派和年份)以及有关用户的人口统计数据(年龄、邮政编码、性别识别和职业)等信息。我们不探讨机器学习技术,但将用实例展示如何将此类数据集切片和切块为我们需要的形式。原创 2024-11-23 07:00:00 · 347 阅读 · 0 评论 -
Python数据分析实例一、纯Python计算时区与pandas计算时区
数据集:bitly_usagov/example.txt (短URL域名服务数据集,数据格式:json)原创 2024-11-22 15:36:44 · 1117 阅读 · 0 评论 -
Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)
作为建模过程的一部分,可以在一个数据集上拟合模型,然后基于另一个数据集(可能是之前数据集的一部分作为测试集,也可能是后面操作后得到的数据集)评估模型。非数值数据可以通过多种不同的方式转换为模型设计矩阵。有很多方法可以进行缺失数据插补,但我们执行一个简单的方法,使用训练数据集的中位数来填充两个数据表中的 null 值。虽然上面只了解了一些 Python 建模库的皮毛,但越来越多的框架用于各种统计和机器学习,我们学习建模最好的方法是熟悉各种统计或机器学习框架的官方文档,以便及时了解最新的功能和 API。原创 2024-11-21 21:54:07 · 2001 阅读 · 0 评论 -
Python数据分析NumPy和pandas(三十九、移动窗口函数)
对等权重的观测值使用固定窗口大小的另一种方法是指定一个恒定衰减因子,以便为最近的观测值提供更多权重。提供了一种在移动窗口上应用我们自己创建的数组函数的方法。以上代码先加载了stock_px.csv中的数据,选取APPL、MSFT、XOM列,重采样并填充值,表达式 rolling(250) 的行为类似于 groupby,但它不是分组,而是创建一个对象,该对象允许在 250 天的滑动窗口中进行分组。用于时间序列操作的一类重要的数组转换是在滑动窗口上计算的统计数据和其他函数,或者使用指数衰减的权重进行评估。原创 2024-11-20 09:51:52 · 796 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Python数据分析NumPy和pandas(三十七、时区处理、期间和期间计算处理)
我们可以将 Period(“2023”, “Y-DEC”)视为一种指向时间跨度的游标,按月周期细分。我们可以用下图来说明。因此,大多数人选择独立于地理的国际标准UTC,时区表示为与 UTC 的偏移量,例如,中国的夏令时比UTC早一小时。虽然默认情况下新 PeriodIndex 的频率是从时间戳推断出来的,但我们可以指定pandas任何支持的频率。在 Python 中,时区信息来自第三方 pytz 库(可使用 pip 或 conda 安装),该库公开了 Olson 数据库,即世界时区信息的汇编。原创 2024-11-19 09:48:30 · 966 阅读 · 0 评论 -
Python数据分析NumPy和pandas(三十六、日期范围、频率和偏移)
pandas 中的通用时间序列是不规则的,也就是说,它们没有固定的频率。但是,我们通常希望相对于固定频率(例如每天、每月或每 15 分钟)工作,pandas 有一整套标准时间序列频率和工具,用于重采样、推断频率和生成固定频率日期范围。开始日期和结束日期为生成的日期索引定义了严格的边界。例如,“M”(日历月末)和“BME”(每月的最后一个工作日/工作日)取决于一个月的天数,在后一种情况下,取决于该月是否在周末结束。请注意,此处的 freq 参数表示要应用于时间戳的偏移量,它不会更改数据的基础频率。原创 2024-11-18 09:43:04 · 895 阅读 · 0 评论 -
Python数据分析NumPy和pandas(三十五、时间序列数据基础)
pandas 中的一种基本时间序列对象是由时间戳索引的 Series,它通常在 pandas 之外表示为 Python 字符串或日期时间对象。时间序列也可以是不规则的,没有固定的时间单位或单位之间的偏移量。在大多情况下,pandas.Timestamp能够替换datetime对象使用,反之则不然,因为 pandas.Timestamp 可以存储纳秒精度数据,而 datetime 最多只能存储微秒。每个时间戳都是相对于特定开始时间的时间度量,从 0 开始(例如,饼干放入烤箱后每秒烘烤的直径)。原创 2024-11-17 20:05:48 · 937 阅读 · 0 评论 -
Python数据分析NumPy和pandas(三十四、数据透视表和交叉表)
上面使用的使用的是pivot_table默认使用的聚合函数 mean ,要使用其他函数可以将聚合函数或函数列表传递给pivot_table的 aggfunc 关键字参数。总结:掌握 pandas 的数据分组工具的使用,对数据清理和建模以及统计分析非常有用。不过,在这之前,我们掌握时间序列数据的处理。针对之前的小费数据集tip.csv,如果我们要计算一个按行中的日期和 smoker 排列的组均值表(默认pivot_table聚合类型),可以用如下代码实现。从上面输出可以看出,列方向,All 值是列的平均值;原创 2024-11-17 00:21:49 · 792 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Python数据分析NumPy和pandas(三十二、数据拆分-应用-合并)
然后,在每个组上调用 top 函数,并使用 pandas.concat 将每个调用的结果粘合在一起,也同时使用组名称标记各个部分。注意:这些是等长的桶(bin)。在清理缺失数据时,可以使用 dropna 删除,但在其他情况下,我们希望使用固定值或从数据派生的某些值来填充空值 (NA)。在前面的示例中,生成的对象具有由组键以及原始对象的每个部分的索引组成的分层索引。最常用的 GroupBy 方法是 apply,apply 将正在操作的对象拆分为多个片段,在每个片段上调用传递给它函数,然后尝试连接这些片段。原创 2024-11-14 20:48:36 · 1282 阅读 · 0 评论 -
Python数据分析NumPy和pandas(三十一、数据聚合)
聚合是指从数组生成标量值的数据转换。常见的聚合见下图列表,但是,不仅限于列表中的这组方法。通过使用 DataFrame,我们可以指定要应用于所有列的函数列表或每个列的不同函数。在到目前为止的所有示例中,聚合数据都返回了一个索引,该索引可能是分层的,由唯一的组键组合而成。当然,通过对结果调用 reset_index 方法也可以实现去除索引,但是会需要一些计算,因此在分组的时候使用 as_index=False 参数可避免一些不必要的计算。可以使用自己的设计的聚合方法,也可以调用分组的对象上定义的任何方法。原创 2024-11-13 17:37:09 · 1227 阅读 · 0 评论 -
Python数据分析NumPy和pandas(三十、数据聚合和分组操作)
对数据集进行分类并将函数应用于每个组(无论是聚合还是转换)是数据分析工作流程的关键组成部分。加载、合并和准备数据集后,需要按组统计数据或计算数据透视表,以便进行报告或可视化。pandas 提供了多功能的 GroupBy 界面,使您能够以自然的方式对数据集进行切片、切块和汇总。关系数据库和 SQL(代表“结构化查询语言”)流行的一个原因是数据可以轻松连接、筛选、转换和聚合。但是,SQL 等查询语言对执行按组操作不是很善长。原创 2024-11-12 08:00:00 · 1628 阅读 · 0 评论 -
Python数据分析NumPy和pandas(二十九、其他Python可视化工具)
例如: Altair、Bokeh 和 Plotly 等工具,可以在 Python 中指定用于 Web 浏览器的动态交互式图形。如果要创建用于打印或 Web 的静态图形,建议使用 matplotlib 和基于 matplotlib 构建的库,例如 pandas 和 seaborn,以满足我们的开发和数据分析需求。总结一下:这几次记录的的目标是学习使用 pandas、matplotlib 和 seaborn 进行一些基本的数据可视化。有关数据可视化是一个活跃的研究领域,值得我们更加深入的学习。原创 2024-11-11 18:53:47 · 398 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Python数据分析NumPy和pandas(二十六、数据整理--连接、合并和重塑 之三:重塑和透视)
在某些情况下,这种格式的数据可能更难处理,例如,我们希望 DataFrame 包含每个不同项目值的一列,并在 Date 列中按时间戳编制索引,那么,我们可以使用DataFrame 的。因为我用的是pandas 2.1的版本索引使用的是它的新特性future_stack=True,如果是之前版本的pandas,可以用data2.unstack().stack(可以再通过data2.unstack().stack() 进行堆叠转换,重新转换为了data2,但如果在stack()方法种传入了。原创 2024-11-08 12:20:52 · 1058 阅读 · 0 评论 -
Python数据分析NumPy和pandas(二十五、数据整理--连接、合并和重塑 之二:数据连接合并操作)
使用 numpy.where 不会检查索引标签是否对齐(甚至不要求对象具有相同的长度)。从这个输出可以看出 left1的行索引(最左列0,1,2,3,4)被保留了,因为 right1 的索引是唯一的,所以这个 “多对一” 合并(使用默认的 how=“inner” 方法)可以保留 left1 中与输出中的行相对应的索引值。在外连接中,左侧或右侧 DataFrame 对象的行如果与关联的 DataFrame 中的键不匹配,则关联的 DataFrame 的列中将在对应行上显示 NA 值。原创 2024-11-07 07:00:00 · 1304 阅读 · 0 评论 -
Python数据分析NumPy和pandas(二十四、数据整理--连接、合并和重塑 之一:分层索引)
分层索引是 pandas 的一项重要功能,它使我们能够在一个轴上具有多个(两个或以上)索引级别。它为我们提供了一种以较低维形式处理高维数据的方法原创 2024-11-06 08:21:42 · 1107 阅读 · 0 评论 -
Python数据分析NumPy和pandas(二十三、数据清洗与预处理之五:pandas的分类类型数据)
当您使用统计或机器学习工具时,通常会将分类数据转换为虚拟变量,也称为独热编码。这涉及创建一个 DataFrame,其中包含每个不同类别的列;这些列包含给定类别的出现次数,出现一次为 1,否则为 0。使用pandas.get_dummies 函数将此一维分类数据转换为包含虚拟变量的 DataFrame原创 2024-11-05 23:52:28 · 1308 阅读 · 0 评论 -
Python数据分析NumPy和pandas(二十二、数据清洗和预处理之四:字符串操作)
pandas 使我们能够将字符串和正则表达式简洁的应用于整个数据数组,从而进一步帮我们解决了缺失数据的烦恼。Python 内置的 re 模块负责将正则表达式应用于字符串,下面我将在这里给出一些使用它的示例。当然,这些都是相关的,正则表达式描述了要在文本中定位的模式,然后可以将其用于多种用途。pandas 具有扩展类型,这些类型提供了对字符串、整数和布尔数据的特殊处理,简单理解就是得包住输出得类型值了,以上输出有布尔值和NaN值,所有这里的对象类型输出object。请注意,以上代码操作返回的对象类型是。原创 2024-11-05 09:00:00 · 1890 阅读 · 0 评论 -
Python数据分析NumPy和pandas(二十一、数据清洗和预处理之三:扩展数据类型)
pandas 最初是基于NumPy构建的,NumPy 是一个主要用于处理数值数据的数组计算库。许多 pandas 概念(例如缺失数据)是使用 NumPy 中可用的内容实现的,同时试图最大限度地提高同时使用 NumPy 和 pandas 的库之间的兼容性。最近,pandas 开发了一个扩展类型系统,允许添加新的数据类型,即使 NumPy 本身不支持它们。3.如果不使用计算成本高昂的 Python 对象数组,则无法有效地支持某些数据类型,例如时间间隔、时间增量和带时区的时间戳。原创 2024-11-04 19:24:53 · 810 阅读 · 0 评论 -
Python数据分析NumPy和pandas(二十、数据清洗和预处理之二:数据转换)
如果我们想根据某个列或某几列的列值进行去重,可以给drop_duplicates()方法传递一个列参数或一个列名列表,并使用keep参数指定保留重复行的最后观测到的行(默认情况下,duplicated 和 drop_duplicates 保留第一个观测值组合。如果 DataFrame 中的列有 k 个不同的值,则可以派生一个矩阵或 DataFrame,其中 k 列包含所有 1 和 0。与 Series 中的值一样,轴标签可以通过某种形式的函数或映射进行类似转换,以生成新的、不同标记的对象。原创 2024-11-04 17:15:44 · 1666 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十九、数据清洗和预处理之一:缺失数据的处理)
为了提高处理效率,pandas 以及内置的 Python 语言功能提供了一组高级、灵活且快速的工具,使我们能够将数据处理为正确的形式。默认值为 None。之前我们学习过用pandas.isna()和布尔索引来过滤选择缺失数据,但还有其他更简单的方法,比如使用dropna()。在清理数据进行分析时,对缺失数据本身进行分析,以识别是否存在数据收集问题或由缺失数据引起的数据潜在偏差通常很重要。在数据处理分析建模的很多情况下,我们不希望过滤掉缺失数据,而是希望用某些值来填充,要填充值常用的一个方法是使用。原创 2024-11-03 20:17:19 · 1188 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十八、从Web APIs 和 数据库中获取数据)
从Web APIs 和 数据库中访问数据,构造DataFrame对象。访问数据通常是数据分析过程的第一步,在后面的学习过程中,还得更深入的学习数据整理、数据可视化、时间序列分析等。原创 2024-11-02 19:54:53 · 1169 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十七、pandas 二进制格式文件处理)
HDF5 是一种备受推崇的文件格式,用于存储大量科学阵列数据。如果是在本地处理大量数据,可以更多的使用 PyTables 和 h5py,但是基于以上的学习内容还不够,需要深入了解他们的功能。由于许多数据分析问题都是 I/O 密集型(而不是 CPU 密集型)的,因此 HDF5 这样的工具使用会极大的提高我们的访问效率。使用pandas.ExcelFile读取excel文件中的多个工作表会更快,但我们也可以使用pandas.read_excel,这个编写代码相对更简单,同样接收文件名作为参数。原创 2024-10-31 10:25:38 · 881 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十六、文本格式数据的读取与存储:csv、json、xml和html)
JSON 除了一些null值和一些小的差别外(例如不允许在列表末尾使用尾随逗号),非常接近的 Python 代码格式,但其 null 值、null 和其他一些细微差别(例如不允许在列表末尾使用尾随逗号)除外。我们来看一个小的csv文件ex7.csv,内如如下。在处理非常大的文件时,未找到合适的数据处理方法前,我们一般希望只读取文件的一小部分或遍历文件的较小块来做预处理或参考。,使我们能够读取任意大小的片段,例如上面代码中的chunker.get_chunk(10) 可以获取ex6.csv的前10行。原创 2024-10-30 10:30:12 · 1918 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十五、pandas 数据加载、存储和文件格式)
由于现实世界中的数据可能非常混乱,因此随着时间的推移,为了处理这些数据,一些数据加载函数(尤其是 pandas.read_csv)已经积累了一长串可选参数。下面我将从读取处理一个小的逗号分隔值 的(CSV) 文本文件开始学习,这个文件名是ex1.csv,存储在examples目录中,examples目录与处理它的Python pandas代码存储在相同目录下,ex1.csv的数据内容如下,另外再创建一个ex2.csv文件,这个文件的数据内容跟ex1.csv一样,只是没有标题行。是最常用的方法之一。原创 2024-10-28 20:54:19 · 1257 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十四、汇总和描述性统计量计算)
注意上面构造Series对象obj的时候,我们用来一种新的方法["a", "a", "b", "c"] * 4,将obj打印出来发现这种方法相当于用["a", "a", "b", "c", "a", "a", "b", "c", "a", "a", "b", "c", "a", "a", "b", "c"]创建了obj对象。使用 DataFrame 的 corrwith 方法,可以计算 DataFrame 的列或行与另一个 Series 或 DataFrame 之间的成对相关性。cov方法计算协方差。原创 2024-10-26 23:14:08 · 1527 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十三、pandas的数据对齐、数据填充以及DataFrame与Series之间的运算等)
根据上面的输出解释下:rank()默认从小到大按升序排名,如果有重复值则取这几个重复值得平均排名作为他们的排名,所以obj中 -5最小排名第1,obj中的0排名第2,以此类推。以上代码首先定义了一个函数f1,然后用NumPy创建了一个4*3的标准正态分布数组,基于这个数组构造了一个DataFrame对象frame,最后将frame对象运用于f1函数,这里f1函数返回frame每列的最大值减去最小值的结果,结果是一个 Series,用frame的列作为其索引。上面的例子传递的轴是要匹配的轴。原创 2024-10-25 15:43:11 · 1128 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十二、pandas的基本功能-对DataFrame索引数据)
ser2 = pd.Series(np.arange(3.), index=["a", "b", "c"]) 用 ser2[-1] 进行索引数据,正常输出2.0,即这种情况下,-1表示输出倒数第一个。对于上面的Series对象ser,可以使用iloc来索引最后一个元素:ser.iloc[-1] 正常输出2.0,不会返回上面的错误。data.loc[["Colorado", "New York"]] 输出一个新DataFrame对象。表示从data对象的第0行到"Utah"所在的行,"two"表示取改列。原创 2024-10-23 10:32:20 · 1269 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十一、pandas的基本功能和使用)
pandas对象调用 reindex方法,将根据新索引重新排列数据创建新对象,如果新索引与原索引无法对齐,则未对齐的索引引入缺失值。以上代码中,obj调用reindex方法中包含索引e,而原索引不包含e,因此新对象obj2的索引e引入缺失值NaN。如果索引包含整数,则基于 [] 的常规索引会将整数视为标签,因此行为因索引的数据类型而异。上面代码中,由于“Ohio” 不在states序列中,因此将从结果中删除该列的数据,同事Utah列填充NaN值。可以创建一个新对象,并且原对象的值与新索引对齐重新排列。原创 2024-10-22 16:42:02 · 1072 阅读 · 0 评论 -
Python数据分析NumPy和pandas(十、pandas的索引对象Index)
在创建Series对象时,我们用numpy数组np.arange(3)做为数据源,并指定了列表["a", "b", "c"]作为索引来创建Series对象obj,然后通过obj的属性index访问其索引对象并打印输出到控制台。输出结果如下:Index(['a', 'b', 'c'], dtype='object')。上面语句输出:Index(['foo', 'foo', 'bar', 'bar'], dtype='object') 即可以有重复标签。原创 2024-10-21 11:18:20 · 598 阅读 · 0 评论 -
Python数据分析NumPy和pandas(九、pandas数据结构之DataFrame)
DataFrame 同时具有行索引和列索引;将列表或数组分配给DataFrame的某列时,值的长度必须与 DataFrame 的长度匹配。如果 DataFrame 的列是不同的数据类型,则将选择合适的返回数组的数据类型以容纳所有列,例如我们将上面的frame2转换成numpy数组:frame2.to_numpy() 输出。populations中不含2003的键,但我们用index参数指定的索引中包含2003,不包含2000,所以结果中不包含2000所对应的行,包含2003对应的行,但是值为NaN。原创 2024-10-20 22:51:49 · 1208 阅读 · 0 评论 -
Python数据分析NumPy和pandas(九、pandas数据结构之Series)
pandas 吸取了 NumPy 的基于数组的计算风格的重要部分,尤其是基于数组的函数的计算和丢弃 for 循环的数据处理。Series 是一个类似于一维数组的对象,包含相同类型的值序列(类型类似于 NumPy 类型)和一个关联的数据标签数组(即索引)。原字典的键成了Series数组的索引,原值成了现在Series数组的值。在Series对象上使用numpy的函数或者类似于numpy的操作,比如布尔数组的筛选、乘法运算等,得到的结果会。从结果可以看出,没有相同索引标签的结果为NaN。原创 2024-10-17 17:33:18 · 966 阅读 · 0 评论 -
Python数据分析NumPy和pandas(八、数组写入磁盘文件和从磁盘文件读取、线性代数计算和图形化)
线性代数中常用的计算还有求矩阵的逆矩阵和将矩阵分解为QR矩阵的计算,NumPy库中linalg模块,提供了inv函数求逆矩阵,qr函数将矩阵分解为QR矩阵。因此,我使用 numpy.random 模块一次绘制 1,000 次抛硬币(效果跟随机游走一样,这里只是换一种说法),将抛的正面和反面分别设置为 1 和 – 1,并计算累积和。执行上面的代码,会在该python文件相同目录生成一个rray_archive.npz二进制文件,然后我又从该文件中加载了数组并分别打印出了数组a和数组b(两个数组内容是一样的)原创 2024-10-17 08:31:29 · 1504 阅读 · 0 评论 -
Python数据分析NumPy和pandas(七、面向数组的编程和图形化展示数据初探)
使用 NumPy 数组能够简洁的完成多种数据处理任务,否则可能需要编写循环来处理相关任务,大大提高了数据处理的效率,一般来说,矢量化数组运算通常比纯 Python 运算要快得多。代码中使用了Matplotlib 库中的一个函数imshow() ,常用于绘制二维的灰度图像或彩色图像,可用于绘制矩阵、热力图、地图等。上面代码中where函数的参数使用了两个标量2和-2,也可以将标量和数组组合使用。在我们的代码中使用了参数X、cmap、extent,分别指定了输入的数据、图像颜色和显示的数据范围。原创 2024-10-15 22:06:38 · 973 阅读 · 0 评论