Skip to main content
 首页 » 编程设计

Python Pandas iterrows 和 set_value 作为矢量化函数

2025年05月04日23落叶

我在我的一个程序中使用了这个函数,根据我的研究,通过向量化可以实现更好的性能。

如何使用向量化函数而不是使用下面的代码来实现相同的分辨率?

 for i, row in df.iterrows(): 
    ifor_val = something 
    if <condition>: 
        ifor_val = something_else 
        df.set_value(i,'ifor',ifor_val) 

请您参考如下方法:

如果该值取决于行中的其他值,则无法避免迭代。

df['ifor'] = df['some_col'].apply(lambda v: something if <condition> else something_else) 

这将在 Pandas 中进行迭代,因此它更简洁(并且可能更快)。