如何解决加载大型数据集和使用dask.delayed的最佳实践
我有一个550,000行文本的csv
文件。我将其读入pandas数据框,在其上循环并对其执行一些操作。这是一些示例代码:
import pandas as pd
def my_operation(row_str):
#perform operation on row_str to create new_row_str
return new_row_str
df = pd.read_csv('path/to/myfile.csv')
results_list = []
for ii in range(df.shape[0]):
my_new_str = my_operation(df.iloc[ii,0])
results_list.append(my_new_str)
我开始实现dask.delayed
,但是在阅读Delayed Best Practices section之后,我不确定是否以最佳方式使用dask.delayed
来解决此问题。以下是与dask.delayed
相同的代码:
import pandas as pd
import dask
def my_operation(row_str):
#perform operation on row_str to create new_row_str
return new_row_str
df = pd.read_csv('path/to/myfile.csv')
results_list = []
for ii in range(df.shape[0]):
my_new_str = dask.delayed(my_operation)(df.iloc[ii,0])
results_list.append(my_new_str)
results_list = dask.compute(*results_list)
我正在具有8个内核的单台计算机上运行此程序,想知道是否存在更优化的方法来加载此大型数据集并在每一行上执行相同的操作?
在此先感谢您的帮助,让我知道我还能提供什么!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。