首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【精心解读】用pandas处理大数据——节省90%内存消耗的小贴士

由此我们可以进一步了解我们应该如何减少内存占用,下面我们来看一看pandas如何在内存中存储数据。...下图所示为pandas如何存储我们数据表的前十二列: 可以注意到,这些数据块没有保持对列名的引用,这是由于为了存储dataframe中的真实数据,这些数据块都经过了优化。...有关category类型的更多限制,参看pandas文档。 下面我们写一个循环,对每一个object列进行迭代,检查其唯一值是否少于50%,如果是,则转换成类别类型。...首先,我们将每一列的目标类型存储在以列名为键的字典中,开始前先删除日期列,因为它需要分开单独处理。 现在我们使用这个字典,同时传入一些处理日期的参数,让日期以正确的格式读入。...总结 我们学习了pandas如何存储不同的数据类型,并利用学到的知识将我们的pandas dataframe的内存用量降低了近90%,仅仅只用了一点简单的技巧: 将数值型列降级到更高效的类型 将字符串列转换为类别类型

8.6K50

Pandas使用技巧:如何将运行内存占用降低90%!

在这篇文章中,我们将了解 pandas 的内存使用,以及如何只需通过为列选择合适的数据类型就能将 dataframe 的内存占用减少近 90%。...为了更好地理解如何减少内存用量,让我们看看 pandas如何将数据存储在内存中的。...让我们为原始 dataframe 创建一个副本,并用这些优化后的列替换原来的列,然后看看我们现在的整体内存用量。...我们将编写一个循环函数来迭代式地检查每一 object 列中不同值的数量是否少于 50%;如果是,就将其转换成 category 类型。...分析棒球比赛 现在我们已经优化好了我们的数据,我们可以执行一些分析了。让我们先从了解这些比赛的日期分布开始。

3.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

教程 | 简单实用的pandas技巧:如何将内存占用降低90%

在这篇文章中,我们将了解 pandas 的内存使用,以及如何只需通过为列选择合适的数据类型就能将 dataframe 的内存占用减少近 90%。 ?...为了更好地理解如何减少内存用量,让我们看看 pandas如何将数据存储在内存中的。...让我们为原始 dataframe 创建一个副本,并用这些优化后的列替换原来的列,然后看看我们现在的整体内存用量。...我们将编写一个循环函数来迭代式地检查每一 object 列中不同值的数量是否少于 50%;如果是,就将其转换成 category 类型。...分析棒球比赛 现在我们已经优化好了我们的数据,我们可以执行一些分析了。让我们先从了解这些比赛的日期分布开始。

3.8K100

没错,这篇文章教你妙用Pandas轻松处理大规模数据

在这篇文章中,我们将介绍 Pandas 的内存使用情况,以及如何通过为数据框(dataframe)中的列(column)选择适当的数据类型,将数据框的内存占用量减少近 90%。...这是 Pandas 如何存储数据框前十二列的预览。 你会注意到这些数据块不会保留对列名的引用。...我们稍后再来分析,首先看看我们是否可以提高数字列(numeric columns)的内存使用率。...你可以阅读 Pandas 文档,了解 category 类型的更多限制。 我们将编写一个循环程序,遍历每个对象列,检查其唯一值的数量是否小于 50%。...因为日期列需要单独对待,因此我们先要删除这一列。 现在,我们可以使用字典、以及几个日期的参数,通过几行代码,以正确的类型读取日期数据。

3.6K40

重大事件后,股价将何去何从?(附代码)

地址: https://pandas-datareader.readthedocs.io/en/latest/index.html 它使得用户能够从多种金融资源中将金融数据导入pandas dataframe...5、最后一个参数明确了我们是否想要特定的配对(不,因为我们不想与当前日期配对,而是想跟前一天配对)。 我们现在有了一个重大事件与当日收盘价和前一日收盘价结合的数据集。...因此,我们需要能够去掉我们的事件数据集中跟踪价格数据少于19个交易日的数据。 为了达到这个目的,我们在个股的价格数据的基础上找到了最大日期,并检验了对应的时间间隔是否少于19个交易日。 ?...我们之后将会把这些最晚日期融入到事件集中,并从这些数据中剔除事件发生日与股票最晚日期间隔少于19个工作日的条目。...除此之外,我们也展示了如何剔除事件发生后后续股价数据少于四周和事件发生在报告日期前四周内的条目。

1.5K30

Pandas 概览

经过多年不懈的努力,Pandas 这个目标已经越来越近了。 Pandas 适用于处理以下类型的数据: 与 SQL 或 Excel 表类似的,含异构列的表格数据。...Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。...轴支持结构化标签:即一个刻度支持多个标签; 成熟的 IO 工具:用于读取文本文件(CSV 等支持分隔符的文件)、Excel 文件、数据库等来源的数据,利用超快的 HDF5 格式保存 / 加载数据; 时间序列:支持日期范围生成...、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。...这些文件阐明了如何决策,如何处理营利组织与非营利实体进行开源协作开发的关系等内容。

1.4K10

数据分析篇 | Pandas 概览

经过多年不懈的努力,Pandas 这个目标已经越来越近了。 Pandas 适用于处理以下类型的数据: 与 SQL 或 Excel 表类似的,含异构列的表格数据。...Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。...轴支持结构化标签:即一个刻度支持多个标签; 成熟的 IO 工具:用于读取文本文件(CSV 等支持分隔符的文件)、Excel 文件、数据库等来源的数据,利用超快的 HDF5 格式保存 / 加载数据; 时间序列:支持日期范围生成...、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。...这些文件阐明了如何决策,如何处理营利组织与非营利实体进行开源协作开发的关系等内容。 Wes McKinney 是仁慈的终身独裁者。

1.2K20

数据分析 | 一文了解数据分析必须掌握的库-Pandas

经过多年不懈的努力,Pandas 这个目标已经越来越近了。 Pandas 适用于处理以下类型的数据: 与 SQL 或 Excel 表类似的,含异构列的表格数据。...Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。...轴支持结构化标签:即一个刻度支持多个标签; 成熟的 IO 工具:用于读取文本文件(CSV 等支持分隔符的文件)、Excel 文件、数据库等来源的数据,利用超快的 HDF5 格式保存 / 加载数据; 时间序列:支持日期范围生成...、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。...这些文件阐明了如何决策,如何处理营利组织与非营利实体进行开源协作开发的关系等内容。 Wes McKinney 是仁慈的终身独裁者。

1.1K10

Pandas 概览

经过多年不懈的努力,Pandas 这个目标已经越来越近了。 Pandas 适用于处理以下类型的数据: 与 SQL 或 Excel 表类似的,含异构列的表格数据。...Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。...轴支持结构化标签:即一个刻度支持多个标签; 成熟的 IO 工具:用于读取文本文件(CSV 等支持分隔符的文件)、Excel 文件、数据库等来源的数据,利用超快的 HDF5 格式保存 / 加载数据; 时间序列:支持日期范围生成...、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。...这些文件阐明了如何决策,如何处理营利组织与非营利实体进行开源协作开发的关系等内容。 Wes McKinney 是仁慈的终身独裁者。

1.1K00

Pandas从HTML网页中读取数据

首先,一个简单的示例,我们将用Pandas从字符串中读入HTML;然后,我们将用一些示例,说明如何从Wikipedia的页面中读取数据。...注意,如果执行此命令后会自动检查pip是否需要升级,如果有必要请升级。此外,我们也会使用lxml或者BeautifulSoup4这些包,安装方法还是用pip:pip install lxml。...函数的完整使用方法,下面演示示例: 示例1 第一个示例,演示如何使用Pandas的read_html函数,我们要从一个字符串中的HTML表格读取数据。...修改多级索引为一级,并删除不必要的字符 现在,我们要处理多级列索引问题了,准备使用DataFrame.columns和DataFrame.columns,get_level_values(): df.columns...\]","") 用set_index更改索引 我们继续使用Pandas的set_index方法将日期列设置为索引,这样做能够为后面的作图提供一个时间类型的Series对象。

9.4K20

pandas 处理大数据——如何节省超90%内存

当处理的数据量级无需使用spark等工具,使用pandas同样能解决时,该如何提高效率呢? 下面展示如何有效降低 pandas 的内存使用率,甚至降低90%的内存使用。...pandas 自动获取数据类型:77个浮点数,6个整数,78个对象。内存使用量为 861.8 MB。 因此我们能更好的理解减少内存的使用,下面看看pandas如何在内存中存储数据的。...DataFrame的内部呈现 在内部机制中,pandas 会将相同类型的数据分为一组。下面是pandas 如何存储DataFrame中的前12个变量: ?...cat.categories = [1,2,3,4,5] In [244]: cat Out[244]: [5, 5, 3, 5] Categories (5, int64): [1, 2, 3, 4, 5] 可以通过迭代检查的方式查看唯一值数量是否少于...如果不能一次读入 DataFrame,那么该如何节省内存呢? 幸运的是,在读入数据集时,我们可以指定最优化数据类型。

5.9K30

数据分析与数据挖掘 - 07数据处理

pandas基本数据类型 1 Series类型 Pandas是数据处理中非常常用的一个库,是数据分析师、AI的工程师们必用的一个库,对这个库是否能够熟练的应用,直接关系到我们是否能够把数据处理成我们想要的样子..."现在我们可以专注的来练习一下如何具体的去访问DataFrame里的数据。在刚刚我们学习过访问一列的数据,现在我们来思考一下,如果我想按照行来访问数据怎么办呢?...日期格式的数据是我们在进行数据处理的时候经常遇到的一种格式,让我来看一下在Excel中的日期类的数据我们该如何处理?...现在我们来思考几个问题: 如何更改手机号字段的数据类型 如何根据出生日期和开始工作日期两个字段更新年龄和工龄两个字段 如何将手机号的中间四位隐藏起来 如何根据邮箱信息取出邮箱域名字段 如何基于other...当然Pandas也提供了一些方法,供我们去观察一下是否有异常值,通常我们会通过查看信息info属性,查看描述方法describe(),或者是通过获取标准差std等方式来观察数据是否存在异常。

2.6K20

《python数据分析与挖掘实战》笔记第3章

数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据一般是指不符合要求,以及不能直接进行相应分析的数据。.../data/catering_sale.xls' #餐饮数据 data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列...(2)标准差 标准差度量数据偏离均值的程度 (3) 变异系数 变异系数度量标准差相对于均值的中趋势 变异系数主要用来比较两个或多个具有不同单位或不同波动幅度的数据集的中趋势。...本小节所介绍的统计特征函数如表3-8所示,它们主要作为Pandas的对象DataFrame或Series的方法岀现。...Pandas rolling_skew() 样本值的偏度(三阶矩) Pandas rolling_kurt() 样本值的峰度(四阶矩) Pandas 其中,cum系列函数是作为DataFrame或’

2.1K20

整理总结 python 中时间日期类数据处理与类型转换(含 pandas)

pandas 善于处理表格类数据,而我日常接触的数据天然带有时间日期属性,比如用户行为日志、爬虫爬取到的内容文本等。于是,使用 pandas 也就意味着相当频繁地与时间日期数据打交道。...如何检查自己是否安装了某个库,如何安装它,又如何查看和更新版本,对新手来说是一个比较大的话题,也是基础技能,值得另外整理一篇笔记,就不在这里占篇幅了。...三、pandas 中的时间处理 我写这篇笔记,本就是奔着精进 pandas 来的,前面花了很大篇幅先整理了time和datetime这些基础功,现在进入重头戏,即 pandas 中与时间相关的时间处理。...前面两个部分举例,处理的均是单个值,而在处理 pandasdataframe 数据类型时,事情会复杂一点,但不会复杂太多。...如何转换为 pandas 自带的 datetime 类型 在上方示例中,肉眼可见 a_col、b_col 这两列都是日期,但 a_col 的值其实是string 字符串类型,b_col的值是datatime.date

2.2K10

机器学习测试笔记(2)——Pandas

经过多年不懈的努力,Pandas 这个目标已经越来越近了。...轴支持结构化标签:一个刻度支持多个标签; 成熟的 IO 工具:读取文本文件(CSV 等支持分隔符的文件)、Excel 文件、数据库等来源的数据,利用超快的 HDF5 格式保存 / 加载数据; 时间序列:支持日期范围生成...、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。...1或’columns’) axis:若axis=0或’index’,则按照指定列中数据大小排序;若axis=1或’columns’,则按照指定索引中数据大小排序,默认axis=0 ascending:是否按指定列的数组升序排列...,默认为True,即升序排列 inplace:是否用排序后的数据集替换原来的数据,默认为False,即不替换 na_position:{‘first’,‘last’},设定缺失值的显示位置 4 获得值

1.5K30

Pandas 学习手册中文第二版:11~15

总结 在本章中,我们研究了在一个或多个DataFrame对象中合并和重塑数据的几种技术。 我们通过检查如何组合来自多个 Pandas 对象的数据来开始本章。...然后,我们研究了如何沿行轴和列轴连接多个DataFrame对象。 由此,我们随后研究了如何基于多个DataFrame对象中的值,使用 Pandas 执行类似于数据库的连接和数据合并。...-2e/img/00578.jpeg)] 对这些结果的检查为我们提供了有关 Pandas 如何进行分裂的一些见解。...我们快速检查如何根据数据组的内容过滤数据组。 在下一章中,我们将深入研究 Pandas 最强大,最强大的功能之一 – 时间序列数据建模。...-2e/img/00612.jpeg)] 日期,时间和间隔的表示 为了开始理解时间序列数据,我们需要首先检查 Pandas 如何表示日期,时间和时间间隔。

3.3K20

0.052秒打开100GB数据?这个Python开源库这样做数据分析

Vaex 是一个开源的 DataFrame 库(类似于Pandas),对和你硬盘空间一样大小的表格数据集,它可以有效进行可视化、探索、分析甚至进行实践机器学习。 ?...那么,如果我们要检查数据或与数据交互怎么办?打开数据集会生成一个标准的DataFrame并对其进行快速检查: ? 注意,单元执行时间太短了。...现在检查一下该passenger_count列。单次出租车行程记录的最大乘客数为255,这似乎有些夸张。计算每次行程的乘客人数,使用以下value_counts方法很容易做到这一点: ?...无论如何,我们要保持开放的态度,并考虑所有花费时间少于3小时的行程: ? 现在,让我们研究出租车的平均速度,同时选择一个合理的数据范围: ?...无论如何,让我们先保守下,只考虑fare_amount,total_amount和tip_amount少于$200的行程。我们还要求fare_amount,total_amount值大于$0。 ?

1.2K20

爱了!0.052s 打开 100GB 数据,这个开源库火爆了!

Vaex 是一个开源的 DataFrame 库(类似于Pandas),对和你硬盘空间一样大小的表格数据集,它可以有效进行可视化、探索、分析甚至进行实践机器学习。...那么,如果我们要检查数据或与数据交互怎么办?打开数据集会生成一个标准的DataFrame并对其进行快速检查: 注意,单元执行时间太短了。...现在检查一下该passenger_count列。单次出租车行程记录的最大乘客数为255,这似乎有些夸张。...无论如何,我们要保持开放的态度,并考虑所有花费时间少于3小时的行程: 现在,让我们研究出租车的平均速度,同时选择一个合理的数据范围: 出租车平均速度分布 根据分布趋平的位置,我们可以推断出在每小时1...无论如何,让我们先保守下,只考虑fare_amount,total_amount和tip_amount少于$200的行程。我们还要求fare_amount,total_amount值大于$0。

78510

python 在Finance上的应用1- 获取股票价格

从大二开始接触A股,有幸见证了15年疯牛,最后落荒而逃,现在工作了又开始买入,可惜大A真是专治各种不服。。。现在的行情真是越来越难做了,所以还是想多多利用手头上的Python来换一套投资理念。...经常被问道,“是否通过这些技术获利投资或交易?”...as pdimport pandas_datareader.data as web Datetime让我们很便捷的使用日期函数,matplotlib用来绘制图形,pandas来分析数据,pandas_datareader...创建dataframe: df = web.DataReader('TSLA',"yahoo", start, end) 如果您目前不熟悉DataFrame对象,可以通过查看Pandas,,可以将其想象为电子表格或者存储器...因此现在我们有一个Pandas.DataFrame对象,它包含特斯拉的股票定价信息。

1.4K21
领券