【发布时间】:2021-12-02 02:18:39
【问题描述】:
我正在尝试为基于条件选择的所有行的列分配值。在this one 这样的几个问题中讨论了实现这一目标的解决方案。 标准解决方案的语法如下:
df.loc[row_mask, cols] = assigned_val
不幸的是,这个标准解决方案需要很长时间。事实上,就我而言,我什至没有完成一项任务。
更新:有关我的数据框的更多信息:我的数据框中有大约 200 万行,我正在尝试更新我的数据框中的一列的值,以获取根据条件选择的行。平均而言,大约 10 行满足选择条件。
是否可以加快这个赋值操作?另外,对于 Pandas 的多项任务,是否有任何通用指南。
【问题讨论】:
-
请多解释一下您的用例、数据框的大小等...以帮助加快速度,因为
loc是在大多数情况下一次访问多行的标准在这种情况下它足够快。