数据帧的逐行处理

2024-10-01 19:20:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要处理一个大文件并更改一些值。在

我想做些类似的事情:

for index, row in dataFrame.iterrows():

        foo = doSomeStuffWith(row)
        lol = doOtherStuffWith(row)

        dataFrame['colx'][index] = foo
        dataFrame['coly'][index] = lol

对我不好,我不能做dataFrame['colx'][index]=foo!在

我的行数非常大,需要处理大量的列。所以我担心,如果我这么做的话,达斯克可能会读几遍这个文件数据帧应用(…)表示每列。在

其他的解决方案是手动将数据分成块,使用pandas,或者直接将任何内容放入数据库。但如果我继续使用我的.csv,让dask为我做块处理,那就太好了!在

谢谢你的帮助。在


Tags: 文件数据indataframeforindexfoo事情
2条回答

一般来说,迭代一个数据帧(Pandas或Dask)可能非常慢。另外,Dask不支持行元素插入。这种工作量很难扩展。在

相反,我建议使用dd.系列。其中(请参见this answer)或在函数中进行迭代(在复制之后,以便不在适当的位置操作),然后使用map_分区跨Dask数据帧中的所有Pandas数据帧调用该函数。在

您只需使用与pandas相同的语法,尽管它会在您执行过程中评估dask数据帧。在

for i in dask_df.iterrows():
     print i

相关问题 更多 >

    热门问题