我正在学习蟒蛇熊猫.我看到一个教程,它显示了两种保存pandas数据帧的方法.
pd.to_csv('sub.csv') 并打开 pd.read_csv('sub.csv')
pd.to_pickle('sub.pkl') 并打开 pd.read_pickle('sub.pkl')
该教程说to_pickle是将数据帧保存到磁盘.我很困惑.因为当我使用时to_csv,我确实看到文件夹中出现了一个csv文件,我假设它也保存到磁盘中了吗?
一般来说,为什么我们要使用保存数据框to_pickle而不是将其保存为csv或txt或其他格式?
我正在使用多处理pool.starmap功能。我发现一个奇怪的问题。
from multiprocessing import Pool
p = multiprocessing.Pool()
NODE = [1,2,3,4];
PageRank = [0.25,0.25,0.25,0.25];
Destination = [[2,3,4],[3,4],[1,4],[2]];
Data = zip(NODE,PageRank,Destination)
Run Code Online (Sandbox Code Playgroud)
所以我使用zip函数创建一个数据集Data,它是一个列表,每个条目都是长度为 3 的元组。然后我调用该函数
p.starmap(MyFunction, zip(NODE,PageRank,Destination))
Run Code Online (Sandbox Code Playgroud)
效果很好。
但是,当我输入
p.starmap(MyFunction, Data))
Run Code Online (Sandbox Code Playgroud)
它输出空列表[]!!!我真的不知道发生了什么事。我实际上只是替换zip(NODE,PageRank,Destination)为Data,这应该是同一件事,对吧?
是因为我使用 Jupyter 笔记本导致这个问题吗?