如何优化应用函数

2024-09-30 20:38:17 发布

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

我正试图从这个post使用函数getKmers

def getKmers(sequence, size=6):
    return [sequence[x:x+size].lower() for x in range(len(sequence) - size + 1)]

human_data['words'] = human_data.apply(lambda x: getKmers(x['sequence']), axis=1)

然而,我的数据集有超过50000次观察,当我运行这个脚本时,我的笔记本每次都会崩溃。我应该如何优化

我能想到的一个解决方案是将数据集分成若干部分,并迭代运行此代码。我认为这不会起作用,因为apply()实际上只是遍历每一行。我不确定这里有什么问题


Tags: 数据函数infordatasizereturndef
1条回答
网友
1楼 · 发布于 2024-09-30 20:38:17

试着这样做。当您只想使用sequence列时,使用apply这样做会不必要地检查每一列

human_data['words'] = human_data['sequence'].apply(getKmers)

编辑:虽然这更快(您放弃了运行lambda函数),但您最初的方式并没有遍历每一列,我将apply与applymap混合起来

相关问题 更多 >