使用 500GB 内存时,Pandas pd.melt 在取消旋转 3.5 GB csv 时抛出内存错误。是否有任何解决方案/功能可用于 unpivot 巨大的 CSV 文件?当前的 csv 有超过 5000 列。
我在同样的问题上苦苦挣扎,偶然发现了你的话题。这是我对 @run-out 建议的实现(按块迭代并连接):
pivot_list = list()
chunk_size = 100000
for i in range(0,len(df_final),chunk_size):
row_pivot =df_final.iloc[i:i+chunk_size].melt(id_vars=new_vars,value_vars=new_values)
pivot_list.append(row_pivot)
df = pd.concat(pivot_list)
非常简单,但这确实使融化速度更快。