所以我知道這看起來微不足道的面值,但我試圖做的實際上是不同的。熊貓在數據框上的數字操作(即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