关于表格太大了jupyter无法单次处理的问题

记录下自己的心路历程…耗时耗精力
我用的数据库单个表格就很大,一个表格有30多G,jupyter无法处理这么大的表格,会直接把电脑的进程全部结束掉,结束掉要是能运行成功倒也行啊,然鹅…给我报错说处理不了,罢工了…
有想过用pycharm来处理,试了下,也不行,文件太大了,处理不了,在网上搜怎么处理这种大文件,有这么几个解决办法:
1. Dask: Dask 是一个用于并行计算的灵活库,它提供了类似于 Pandas 的接口,但能够处理比内存更大的数据集。你可以使用 Dask DataFrame 来处理大型数据,它允许你进行分布式计算,将数据分块加载到内存中。

import dask.dataframe as dd
读取大型CSV文件
df = dd.read_csv('your_large_file.csv')
执行操作(例如,过滤、聚合)
result = df[df['column_name'] > 100].groupby('another_column').mean()
将结果写入文件
result.to_csv('output.csv', single_file=True)

2. 分块处理: 使用 Pandas 的 read_csv 方法时,可以使用 chunksize 参数,将数据集分割成小块进行处理,而不是一次性读入整个数据集。这可以减少内存压力。

chunk_size = 100000  # 适当调整块的大小
chunks = pd.read_csv('your_large_file.csv', chunksize=chunk_size)
for chunk in chunks:# 处理每个块的数据

3. 合理选择数据类型: 确保使用适当的数据类型,以减少内存使用。例如,将整数列转换为 int32 或 int64,将浮点数列转换为 float32 或 float64。
4. 使用合适的硬件: 如果可能,考虑使用具有大量内存的计算机或云实例。处理大型数据集可能需要更大的内存。

1 2 的方法适用于表格文件行之间没有关联的,如果表格每行之间都是独立的,可以考虑1 2的方法;3的话会改变数据类型,在我的项目中不太适用这个方法,于是想找云服务器来处理,以下是云服务器的历程…
– 本来想用谷歌云,听说怪好用的,但死在了第一步,visa银行卡没有
– 于是转战国内的阿里云,说实话阿里云感觉有点坑,而且选择项太多了,之前没用过,对新手不友好
– 想到了Kaggle,以前只知道是打比赛的,进去一看也有在线notebook,界面很简洁,新手友好型,还能上传自己的数据库,能传100G,不过单个文件也一次只能处理20G

最后,没法了就用postgresql先处理了一下表格,把不需要的列删除,很奇怪的是,在我删了五六列后其大小没变小反而增到了40G,搜了下,可能是postgre缓存了些数据,用这个语句可以删除缓存的内容:

--删除缓存
VACUUM ANALYZE 你的表格名;
--察看文件大小
SELECT pg_size_pretty(pg_total_relation_size('你的表格名'));

其实…这样之后我的表格还是没变小,我用上面那个语句查我的表格还是40G,但是!!!!!!!!我将其export后,它的大小是18G,差不多满足Kaggle处理文件的size,后来想了下原因,可能是它需要时间来放空间??
反正就这样了,把处理后的数据传到kaggle上就好了!总结:

  1. 如果不是很复杂的表格操作的话,建议用postgresql来处理表格,它没大小限制;
  2. 如果表格间数据没有强相关性,可以考虑分块、并行处理;
  3. 可以借助云服务器来编程,还不耗计算机内存,推荐Kaggle,只是它传数据库要好久…我传30G用了一晚
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/585990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringCloud】从实际业务问题出发去分析Eureka-Server端源码

文章目录 前言1.EnableEurekaServer2.初始化缓存3.jersey应用程序构建3.1注册jeseryFilter3.2构建JerseyApplication 4.处理注册请求5.registry() 前言 前段时间遇到了一个业务问题就是k8s滚动发布Eureka微服务的过程中接口会有很多告警,当时…

next.js 开发网站的hello world

本文介绍建立一个简单的next.js 工程,以及简单修改。然后也简单说了2种路由方式的选择。 开始next.js工程前需要node.js , 还需要编辑器,我这里选择的是visual code。如果没有安装node.js 请参考下: visual code 下的node.js的he…

PathWave Device Modeling (IC-CAP) 建模系统——IC-CAP概述

建模系统 PathWave Device Modeling(IC-CAP)建模系统用于测量半导体器件并分析器件的电路建模特性以及分析所得数据。 要使用PathWave Device Modeling(IC-CAP),您需要以下设置: 一台工作站执行直流、电…

今年近三万人报考北大研究生,最高学费80多万!

全国硕士研究生招生考试已经接近尾声,今年总共有近3万名考生报考北京大学硕士研究生。而北大计划招生的研究生是7349人,按这个比例计算的话相当于4:1,也就是平均 4 个人当中会有一个人被录取,我感觉这比高考容易多了。 2023年北大…

基于ElementUI二次封装el-table与el-pagination分页组件[实际项目使用]

效果&#xff1a; 二次封装el-table组件 <template><div><!-- showHeader:是否显示头部size:表格的大小height:表格的高度isStripe:表格是否为斑马纹类型tableData:表格数据源isBorder:是否表格边框handleSelectionChange:行选中&#xff0c;多选内容发生变化回…

Zama TFHE-rs白皮书(2)

前序博客有&#xff1a; 基于[Discretized] Torus的全同态加密指引&#xff08;1&#xff09;基于[Discretized] Torus的全同态加密指引&#xff08;2&#xff09;TFHE——基于[Discretized] Torus的全同态加密 代码解析Zama TFHE-rsZama TFHE-rs白皮书&#xff08;1&#xff…

推荐系统/电商中的 业务指标GMV

GMV&#xff08;Gross Merchandise Volume&#xff09;是指在一定时间内&#xff0c;一个电商平台上所有商品的总销售价值&#xff0c;通常以货币单位&#xff08;例如美元、人民币等&#xff09;表示。GMV是一个关键的电商业务指标&#xff0c;用于衡量平台的交易规模和业务增…

Linux:apache优化(5)—— 隐藏版本号

防盗链&#xff1a;就是防止别人盗取你们公司的图片、文件、视频 作用&#xff1a;防盗链就是防止别人盗用服务器中的图片、文件、视频等相关资源。运维人员可以通过apache提供rewrite模块进行优化。 配置项&#xff1a; RewriteEngine ON ##打开网页重写功能 RewriteCond …

修改源码,element的el-table合并,处理合并产生的hover样式问题

1、确认自己element-ui的版本号 2、此element-ui下的lib包是修改过hover样式的包,如何替换自己文件下的node_modules中的包 修改后将lib文件夹中文件替换你项目中/node_module/element-ui/Lib中的文件问题??如果替换开发环境中的node_module的包无法升级到测试环境,因为nod…

联合办公靠谱吗?

提起联合办公&#xff0c;许多人可能会想到喧嚣的开放式办公区、精巧的咖啡吧台以及随处可见的共享会议室。随着工作模式的更新迭代&#xff0c;联合办公无疑已经成为了现代办公室文化的热门趋势。但面对这种浪潮&#xff0c;不少人仍然保持着观望的态度&#xff0c;不免产生疑…

无表情包不MEME,PADD 最具潜力的BRC20 meme

BRC20 出圈&#xff0c;PADD 埋伏正当时 近期&#xff0c;市场向好&#xff0c;BRC20 在一定程度上推动了牛市的进程&#xff0c;基于BRC20的生态正在蓬勃发展&#xff0c;meme coin 已经成为生态中不可或缺的一部分&#xff01; 投资 meme coin 要的是以小博大&#xff0c;sat…

0x45 点分治

0x45 点分治 到目前为止&#xff0c;我们用数据结构处理的大多是序列上的问题。这些问题的形式一般是给定序列中的两个位置 l l l和 r r r&#xff0c;在区间 [ l , r ] [l,r] [l,r]上执行查询或修改指令。如果给定一棵树&#xff0c;以及树上两个节点 x x x和 y y y&#xff…

jQuery日历签到插件下载

jQuery日历签到插件下载-遇见你与你分享

记一次JSF异步调用引起的接口可用率降低 | 京东云技术团队

前言 本文记录了由于JSF异步调用超时引起的接口可用率降低问题的排查过程&#xff0c;主要介绍了排查思路和JSF异步调用的流程&#xff0c;希望可以帮助大家了解JSF的异步调用原理以及提供一些问题排查思路。本文分析的JSF源码是基于JSF 1,7.5-HOTFIX-T6版本。 起因 问题背景…

【Java】SpringBoot快速整合WebSocket实现客户端服务端相互推送信息

目录 什么是webSocket&#xff1f; webSocket可以用来做什么? WebSocket操作类 一&#xff1a;测试客户端向服务端推送消息 1.启动SpringBoot项目 2.打开网站 3.进行测试消息推送 4.后端进行查看测试结果 二&#xff1a;测试服务端向客户端推送消息 1.接口代码 2.使…

04-获取认证的用户身份信息

存储用户信息的方式 获取用户信息的流程 用户提交账号和密码后,DaoAuthenticationProvider调用UserDetailsService接口实现类的loadUserByUsername()方法,该方法可以接收请求参数username的值,然后根据该值查询用户信息,最后将账号,密码,权限封装到UserDetails对象中并返回给…

HW01—SY系列单点测厚仪 应用于轧钢橡胶、金属、塑料…

关键字&#xff1a;单点测厚仪,HW01—SY测厚仪,常温测厚仪,热轧板测厚仪,非接触测厚仪,橡胶测厚仪,塑料板测厚仪,木板测厚仪, 产品简介&#xff1a; 该系列测厚仪整体采用C型架结构&#xff0c;C型架上安装上下两个对射的激光位移传感器&#xff0c;可测量一个点的厚度尺寸。C型…

杰发科技AC7840——EEPROM初探

0.序 7840和7801的模拟EEPROM使用不太一样 1.现象 按照官方Demo&#xff0c;在这样的配置下&#xff0c;我们看到存储是这样的&#xff08;连续三个数字1 2 3&#xff09;。 使用串口工具的多帧发送功能 看不出多少规律 修改代码后 发现如下规律&#xff1a; 前四个字节是…

信号与线性系统翻转课堂笔记16——离散LTI系统的各类响应

信号与线性系统翻转课堂笔记16——离散LTI系统的各类响应 The Flipped Classroom16 of Signals and Linear Systems 对应教材&#xff1a;《信号与线性系统分析&#xff08;第五版&#xff09;》高等教育出版社&#xff0c;吴大正著 一、要点 &#xff08;1&#xff0c;重点…

Java连接Mysql报错:javax.net.ssl.SSLException: Received fatal alert: internal_error

大致报错日志如下&#xff1a; The last packet successfully received from the server was 11 milliseconds ago. The last packet sent successfully to the server was 10 milliseconds ago.at sun.reflect.GeneratedConstructorAccessor275.newInstance(Unknown Source)…