我想通过替换 for 循环使以下 Python 数据处理代码更高效。有没有办法对这样的代码进行矢量化?
我有一个
df看起来有点像的 DataFrame 对象:names number bob 5 sara 10 bob 8 foo 12 moo 16我想对 DataFrame 进行子集化以找出与每个名称关联的所有行,然后对
number. 这就是我现在正在做的事情:for myName in set(df['names']): nameSubset = df.loc[df['names']==myName] operation(nameSubset['number'], **args) '''Basically,perform an operation on the `number` column of nameSubset.'''
有没有办法让这段代码运行得更快?从理论上讲,如果计算机可以在任何给定时刻处理多个 myName,而不是一次运行每个 myName,那么这可以更快。我不确定如何矢量化/并行化我的代码以实现这一点。