所以我知道这看起来微不足道的面值,但我试图做的实际上是不同的。熊猫在数据框上的数字操作(即max())
我有一个数据帧:
x
1
3
4
,我想这样做就可以了操作,如:
df['x']=df['x']+1
但我也有这样的最大值,这实际上是min(4,val)
。
这将实现产值:
x
2
4
4
因此,在无效的语法,我想我要做的是:df['x']=np.min(df['x']+1,4)
但这不起作用。
旁白:
df['x']=df['x']+1
df[df['x']>4]['x']=4
没有任何人有一个更优雅的解决方案吗?
感谢
为什么不'DF [DF [ 'X'] <4] [ 'X'] + = 1'? – umutto
所以有趣的是我尝试了一个变种 - 'df ['x'] = df ['x'] + 1',然后'df [df ['x']> 4] ['x'] = 4'和由于某种原因没有工作。不明白为什么不tbh。我之前完成了类似的操作,没有快乐 – Henry
@Henry这就是所谓的链式索引,它可能会产生奇怪的结果。您可以使用'df.loc [df ['x']> 4,'x'] = 4'来代替'df [df ['x']> 4] ['x'] = 4'。 – ayhan