我想以一种更有效的方式执行这个简单的转换。
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)