首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Pandas:垃圾收集删除的列以释放内存

Pandas:垃圾收集删除的列以释放内存
EN

Stack Overflow用户
提问于 2015-07-18 13:28:21
回答 1查看 3.7K关注 0票数 10

我正在处理一个大约有20,000,000行和4列的大型数据集。不幸的是,我的机器上的可用内存(~16 on )不够。

示例(时间是从午夜开始的秒数):

代码语言:javascript
运行
AI代码解释
复制
           Date   Time   Price     Vol
0      20010102  34222  51.750  227900
1      20010102  34234  51.750    5600
2      20010102  34236  51.875   14400

然后,我将数据集转换为适当的时间序列对象:

代码语言:javascript
运行
AI代码解释
复制
                         Date   Time   Price     Vol
2001-01-02 09:30:22  20010102  34222  51.750  227900
2001-01-02 09:30:34  20010102  34234  51.750    5600
2001-01-02 09:30:36  20010102  34236  51.875   14400
2001-01-02 09:31:03  20010102  34263  51.750    2200

为了释放内存,我想删除多余的Date和Time列。我使用.drop()方法执行此操作,但内存未被释放。之后我也试着给gc.collect()打电话,但也没什么帮助。

这是我调用来处理所描述的操作的代码。del部件释放内存,但不释放drop部件。

代码语言:javascript
运行
AI代码解释
复制
# Store date and time components
m, s = divmod(data.Time.values, 60)
h, m = divmod(m, 60)
s, m, h = pd.Series(np.char.mod('%02d', s)), pd.Series(np.char.mod('%02d', m)), pd.Series(np.char.mod('%02d', h))

# Set time series index
data = data.set_index(pd.to_datetime(data.Date.reset_index(drop=True).apply(str) + h + m + s, format='%Y%m%d%H%M%S'))

# Remove redundant information
del s, m, h
data.drop('Date', axis=1, inplace=True)
data.drop('Time', axis=1, inplace=True)

如何从pandas数据帧中释放内存?

EN

回答 1

Stack Overflow用户

发布于 2019-09-26 09:55:33

代码语言:javascript
运行
AI代码解释
复制
del data['Date']
del data['Time']

这将释放内存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31491655

复制
相关文章
pandas’_pandas 删除列
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/02
2.7K0
pandas’_pandas 删除列
python 的内存管理与垃圾收集
我们知道,Python 不需要提前声明变量,也无需指定其类型,变量的类型和内存占用都是运行时决定的。 赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型。 在对象创建后,一个该对象的应用会被赋值给左侧的变量。 Python 程序的内存分配和释放都是解释器进行操作的,不需要程序员手动处理。
用户3147702
2022/06/27
3680
python 的内存管理与垃圾收集
MySQL 删除数据不释放内存
使用delete删除的时候,MySQL并没有把数据文件删除,只会将已经删除的数据标记为删除,因此并不会彻底的释放空间。
默存
2023/09/01
7140
MySQL 删除数据不释放内存
垃圾收集机制与内存分配策略
Java 语言与其他编程语言有一个非常突出的特点,自动化内存管理机制。而这种机制离不开高效率的垃圾收集器(Garbage Collection)与合理的内存分配策略,这也是本篇文章将要描述的两个核心点。
Single
2018/04/04
1.1K2
垃圾收集机制与内存分配策略
垃圾收集机制与内存分配策略
Java 语言与其他编程语言有一个非常突出的特点,自动化内存管理机制。而这种机制离不开高效率的垃圾收集器(Garbage Collection)与合理的内存分配策略,这也是本篇文章将要描述的两个核心点。 引一句周志明老师对 Java 中的内存管理机制的描述: Java 与 C++ 之间有一堵有内存动态分配和垃圾收集技术所围成的「高墙」,墙外面的人想进去,墙里面的人却想出来。 各有各的优势,没有谁会替代谁,只是应用在不同的场合下,谁更适合而已。 可达性分析算法 Java 中使用「可达性分析算法」来判定堆
Single
2018/04/16
8020
垃圾收集机制与内存分配策略
垃圾收集器与内存分配策略
该文介绍了Java中的垃圾收集器(Garbage Collector)和内存分配与回收策略,包括Serial、Parallel、CMS、G1等收集器以及堆内存的分配和回收策略,如对象优先在Eden分配、大对象直接进入老年代、长期存活的对象进入老年代等。
YGingko
2017/12/28
6700
垃圾收集器与内存分配策略
[JVM] 垃圾收集器与内存分配策略
 垃圾收集器与内存分配策略 最早人们思考GC需要完成的3件事情: 哪些内存需要回收 什么时候回收 如何回收 经过发展,内存动态分配和回收技术已经成熟,为什么还要了解GC和内存分配呢? 当需要排查各种内
wOw
2018/09/18
4280
[JVM] 垃圾收集器与内存分配策略
javascript垃圾收集机制与内存泄漏详解
javascript具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中的使用的内存。而在C和C++之类的语言中,开发人员的一项基本任务就是手动跟踪内存的使用情况,这是造成许多问题的一个根源。在编写javascript程序时候,开发人员不用再关心内存使用的问题,所需内存的分配以及无用的回收完全实现了自动管理。这种垃圾收集机制的原理其实很简单:找出那些不再继续使用的变量,然后释放其中占用的内存。为此,垃圾收集器会按照固定的时间间隔(或代码执行中预设的收集时间),周期性的执行这一操作。 下面我们来
前朝楚水
2018/04/02
1K0
垃圾收集器与内存分配策略
运行时数据区包括程序计数器、本地方法栈、Java 虚拟机栈、堆、方法区,其中程序计数器、虚拟机栈、本地方法栈随着线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈的操作。
Li_XiaoJin
2022/06/10
2400
垃圾收集器与内存分配策略
Java 垃圾收集器的垃圾收集算法
在 Java 中,垃圾回收是个基础而有趣的话题,本文主要讲解 Java 垃圾收集器的垃圾收集算法,首先,需要理解几个概念:
CS实验室
2021/03/22
5130
Java 垃圾收集器的垃圾收集算法
JVM垃圾收集之——垃圾收集算法
链接: JVM垃圾收集之——怎样判定一个对象是不是垃圾 接上篇,介绍完怎样判定一个对象是不是垃圾之后,就该瞅一瞅垃圾是怎样回收的了 首先我们要知晓,垃圾收集是建立在两个分代假说之上的:
向着百万年薪努力的小赵
2022/12/02
4630
JVM垃圾收集之——垃圾收集算法
python-pandas读取excel删除列后,写入
import io import pandas as pd diyun = pd.read_excel(io = '文件路径.xlsx') diyun = diyun.drop(columns = ['Unnamed: 0','Unnamed: 1','Unnamed: 2','Unnamed: 25']) diyun.to_excel('存储位置.xlsx') print(diyun) 重点在倒数第二行的 to_excel 我是自学python 就是这么一个简单的问题,我在网上找了很多,却没有找到答案。
用户9418378
2022/01/26
3.4K0
对比Excel,Python pandas删除数据框架中的列
删除列也是Excel中的常用操作之一,可以通过功能区或者快捷菜单中的命令或者快捷键来实现。上一篇文章,我们讲解了Python pandas删除数据框架中行的一些方法,删除列与之类似。然而,这里想介绍一些新方法。取决于实际情况,正确地使用一种方法可能比另一种更好。
fanjy
2022/04/13
7.6K0
对比Excel,Python pandas删除数据框架中的列
性能优化-垃圾收集器以及内存分配
前面我们讲了垃圾回收的算法,还需要有具体的实现,在jvm中,实现了多种垃圾收集 器,包括:串行垃圾收集器、并行垃圾收集器、CMS(并发)垃圾收集器、G1垃圾收集器,接下来,我们一个个的了解学习。
cwl_java
2020/02/13
4430
JAVA 垃圾收集器与内存分配策略
垃圾收集技术并不是Java语言首创的,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。垃圾收集技术需要考虑的三个问题是:
zhangheng
2020/04/28
5600
垃圾收集算法
在前面的引用计数法和可达性算法一文中,我们讲了一个引用要被回收需要达到的条件以及怎么判断一个引用是否要被回收。了解了这些知识,就到了今天要讲的垃圾收集算法。
飞翔的竹蜻蜓
2020/07/08
7100
垃圾收集算法
JVM垃圾收集
目录 内存区域回顾 机制介绍 收集器介绍 调优 内存区域回顾 垃圾回收机制 Java 对象生命周期 根搜索算法 从GC Roots对象为起点,开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC
囚兔
2018/02/08
8170
JVM垃圾收集
JavaScript垃圾收集
JavaScript具有自动收集垃圾的机制,也就是说执行环境会负责管理代码执行过程中的内存。JavaScript的内存分配以及内存的回收都是自动。垃圾回收机制:找到不再使用的变量,然后释放其占用的内存。 垃圾回收器会按照固定的时间间隔执行这一操作。 局部变量的生命周期,局部变量只在函数执行过程中存在,会为局部变量在栈(堆)内存上分配相应的空间,以便存储值。在函数中使用这些变量,直至函数执行结束。此时,局部变量就没有存在的必要了,可以释放他们的内存。在这种情况下,很容易判断变量是否还有存在的必要;但不是所有情
水击三千
2018/02/27
6350
JVM之垃圾收集器与内存分配策略
在堆里面存放着java世界几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象哪些还“存活”,哪些已经“死去”
见得乐
2022/07/20
2420
点击加载更多

相似问题

Android垃圾收集器释放内存

10

垃圾收集器不会自行释放内存

219

JNI库在垃圾收集时释放内存?

22

Java内存泄漏-删除垃圾收集

128

禁用Go垃圾收集时,您能释放内存吗?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档