网站开发 承接wordpress modernizr
news/
2025/9/30 18:30:04/
文章来源:
网站开发 承接,wordpress modernizr,谷歌推广哪家公司好,注册公司费用流程作者#xff1a;黄天元#xff0c;复旦大学博士在读#xff0c;热爱数据科学与开源工具#xff08;R#xff09;#xff0c;致力于利用数据科学迅速积累行业经验优势和科学知识发现#xff0c;涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图…作者黄天元复旦大学博士在读热爱数据科学与开源工具R致力于利用数据科学迅速积累行业经验优势和科学知识发现涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等著有《R语言数据高效处理指南》《R语言数据高效处理指南》(黄天元)【摘要 书评 试读】- 京东图书《R语言数据高效处理指南》(黄天元)【简介_书评_在线阅读】 - 当当图书。知乎专栏R语言数据挖掘。邮箱huang.tian-yuanqq.com.欢迎合作交流。以前有多个csv要合并成一个文件所有的列一般都是一致的把文件路径设置到那里然后写一个循环一个一个读然后每个循环后面就使用rbind/bind_rows合在一起。比如library(tidyverse)# 假设已经在csv文件所在路径dir() %% str_subset(.csv$) - fn
all tibble()
for(i in fn){read_csv(i) %%bind_rows(all) - all
}为了充分利用计算机的所有性能让读取更加迅速我在多次试错下终于写下这么一段代码library(pacman)
p_load(doParallel,data.table,dplyr,stringr,fst)# 识别所在文件路径下所有的csv文件名称
dir() %% str_subset(.csv$) - fn# 并行计算环境设置
(cl detectCores() %% makeCluster()) %% registerDoParallel()# 并行读取csv并进行合并
system.time({big_df foreach(i fn,.packages data.table) %dopar% {fread(i,colClasses character)} %% rbindlist(fill T)
})# 停止并行环境
stopCluster(cl)# 读出文件
write_fst(big_df,big_df.fst,compress 100)# fwrite(big_df,bid_df.csv)这是我目前探索出来能够最快速度合并任意文件夹任意数量csv的代码没有之一。计算机的核越多效果越明显。fread的快速在当前是无可匹敌的而colClasses参数的设置让读取不需要进行过多的数据类型判断这样在最后合并的时候也就不会报错。rbindlist是data.table中专门用来合并列表中data.table的函数fill设置为TRUE可以提高容错性如果多个数据表中列名称不同会填充NA值。最后合并成一个巨大的数据框存在big_df中建议使用fst包来读出compress开到尽头设置为100可以实现最大的压缩和快速读写空间时间双节省如果一定需要csv格式的话也可以用fwrite读出。我想这样的数据表可能永远也不会需要完全读入fst支持部分读取功能读取部分行或列因此fst这个格式是非常合适的。2020/04/29更新新的方案if (!require(pacman)) install.packages(pacman)
pacman::p_load(future.apply, data.table, stringr)# get the file name
dir() %% str_subset(.csv$) - fnplan(multiprocess)future_lapply(fn,fread,colClasses character) %% rbindlist(fill TRUE) - resres就是我们要的合并后的数据框。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923141.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!