假设我有以下数据框:
import pandas as pd
df = pd.DataFrame({'n': [1, 2, 3], 'm': [4, 4, 7]})
df.loc[df['m']==4,'n']=1
在相对较小的数据集(约 50,000 个 int32 样本)上运行此 .loc 函数需要 11 毫秒。有什么办法可以加快速度吗?我希望将相同的操作降低到 10-100μs 之间。
更新
我已经编辑了上面的例子,使其更加简洁。
在测试了建议的方法后,最快的是:
df['n'].values[df['m'].values == 4] = 1
将其应用于约 50,000 个样本数据集后,该解决方案的运行速度比原始代码快 244 倍。
大话西游666
Cats萌萌
相关分类