Pandas 替换大于特定参数的值

Pandas 替换大于特定参数的值,pandas,Pandas,我在数据框中有一列,我想替换大于某个特定上限的所有值。在我的系列中有一些NaN-大致如下所示: A 0.1 0.2 0.3 NaN 0.5 我试过理解,写作 Max = 0.4 df['A'] = df['A'].dropna().apply(lambda x: [y if y <= Max else Max for y in x]) 但这将返回TypeError:“float”对象不可编辑 我做错了什么,请你可以用这个代码来做 Max = 0.4 df['A'] = df['A'].

我在数据框中有一列,我想替换大于某个特定上限的所有值。在我的系列中有一些NaN-大致如下所示:

A
0.1
0.2
0.3
NaN
0.5
我试过理解,写作

Max = 0.4
df['A'] = df['A'].dropna().apply(lambda x: [y if y <= Max else Max for y in x])
但这将返回TypeError:“float”对象不可编辑


我做错了什么,请

你可以用这个代码来做

Max = 0.4
df['A'] = df['A'].dropna().applymap(lambda x: max(x, Max))

使用df['A'].clipupper=max这非常优雅-谢谢!!!非常感谢-这是一个非常好的方法!