Dask-是否有等效于pandas df.values.tolist()的dask数据框?

时间:2019-11-20 00:35:55

标签: python pandas dask

我正在读取2500万行和4列(纬度,经度,国家/地区和水平)的CSV文件。过滤掉我不想要的内容后,剩下大约50万行,我想使用Folium对其进行可视化。

Folium需要以以下方式将包含经纬度,经度和纬度列的数据帧作为单独的行传递给它

data = ddf.apply(lambda row: makeList(row['Latitude'], row['Longitude'], row['Level']), axis=1, meta=object)

makeList是一个定义如下的函数-

def makeList(x,y,z):
    return [x,y,z]

上面的函数需要大约120秒来计算。我想知道是否有一种方法可以通过使用“ ddf.values.tolist()”或任何其他计算速度更快的方法来加快速度?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的帖子标题表明您想要一个列表,因此,也许可以选择大手提包

但是您的帖子中还包含 Folium需要数据框和... ,因此更多 可能您只需要生成带有上述3列的 DataFrame

要生成带有列子集的 DataFrame ,可以运行:

data = ddf[['Latitude', 'Longitude', 'Level']]

然后,您可以例如将其保存在单个CSV文件中:

data.to_csv('your_file.csv', single_file=True)

(可接受的行数为500k),并在另一个程序中作为“普通”( Pandas )DataFrame进行处理。