我正在遍历存储在泊坞窗中的csv文件。我想遍历行。我本地(w / o docker)中的相同脚本在6分钟内执行完,但是在docker内部时,读取20行需要一两分钟(有130万行)。正在读取的csv文件大小为837MB
代码如下:
character-literal:
encoding-prefix opt ' c-char-sequence '
答案 0 :(得分:0)
为什么要使用循环行?看来可以将其向量化:
df["eventual_ppac_code"] = df["omc_dist_master_PPAC District Code"]
df.loc[df["omc_dist_master_PPAC District Code"] != df["omc_dist_master_PPAC District Code"], "eventual_ppac_code"] = df["consumer_id_name_ppac_code"]
话虽如此,您究竟何时期望omc_dist_master_PPAC District Code
不等于omc_dist_master_PPAC District Code
?是同一列吗?
答案 1 :(得分:0)
docker == ubuntu系统的基本前提是我所遇到的逻辑谬误。是的,尽可能地优化代码是正确的,但是两个系统中的相同代码显示出不同的统计信息,而docker速度很慢。话虽如此,我开始使用chunksize
来减轻内存负担。具有如此大数据的(读和写)上下文切换是使docker变慢(尤其是写操作)的原因。应当注意,内存不是问题,通过docker在持久性存储中写入大数据比在我们的系统中慢。