根据来自其他熊猫数据框的匹配列更新熊猫列的最快方法

克里夫雷

我有两个熊猫数据框,一个具有更新后的值作为主要数据框的一部分值。主要的是〜2m行,要更新的列是〜20k。据我所知,此操作运行非常缓慢,据我所知,它低于O(m * n),有没有很好的方法对其进行矢量化或只是总体上提高了速度?我看不出有多少其他优化可以应用于这种情况。我也尝试过将'object_id'列作为索引,但这并没有导致速度的有意义的提高。

# df_primary this is 2m rows
# df_updated this is 20k rows

for idx, row in df_updated.iterrows():
    df_primary.loc[df_primary.object_id == row.object_id, ['status', 'category']] = [row.status, row.category]
Shubham Sharma

让我们尝试使用中的值来就地DataFrame.update更新df_primarydf_updated

df_primary = df_primary.set_index('object_id')
df_primary.update(df_updated.set_index('object_id')[['status', 'category']])
df_primary = df_primary.reset_index()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据其他数据框过滤熊猫数据框列

根据匹配的列值与其他数据框的组合来删除行熊猫

从其他数据框中依次更新熊猫列

如何根据熊猫中的其他数据框值更新一个数据框列?

根据其他数据框中的列值在熊猫数据框中创建列

根据数据框中的其他列更改熊猫数据框的列值

如何根据其他列和其他条件过滤熊猫数据框并仅保留行

根据其他列中的匹配单词创建熊猫列

熊猫数据框根据其他列是否有数据添加新列

大熊猫:根据其他数据框创建数据框列

根据其他数据框向熊猫数据框添加新列

根据第二个数据框的匹配列更新熊猫数据框

根据列值和其他列更新熊猫细胞

根据先前的值和其他列替换或排序熊猫数据框列

根据其他数据框列映射熊猫列中类别的值

如何根据数据框的其他列创建新的熊猫列?

如何根据其他列的条件对熊猫的“数据框”列进行操作

根据熊猫数据框中其他列的条件和值创建新列

根据其他列向熊猫数据框添加一列

如何根据其他两列中的值在熊猫数据框中添加新列

根据其他列值选择熊猫数据框中的列

根据熊猫中的其他列修改列数据

匹配列熊猫数据框

如何基于熊猫数据框中的其他列值更新“余额”列

根据与其他数据框的匹配更新数据框新列

根据熊猫数据框中的其他列获取变量的平均值

分组并根据熊猫数据框中的其他列比较/过滤特定组

使用其他数据框重命名熊猫中的列

熊猫:枢轴数据框并保留其他非数字列