在pandas中应用函数的备选方案



我想以一种更有效的方式执行这个简单的转换。

df["amount"] = df.apply(
lambda row: 500 if row.amount > 500 else row.amount, axis=1
)

任何想法?

您可以使用pandas.Series.clip:

df["amount"].clip(upper = 500)

numpy.clip:

np.clip(df["amount"], None, 500)

您也可以使用np。其中为最大速度

# assumes df['amount'] has no na, use .fillna(0) if needed
df["amount"] = np.where(df['amount'].values > 500, df['amount'].values, None)

相关内容

  • 没有找到相关文章

最新更新