我試圖用熊貓pd.DataFrame.where
如下:替代有效的方法大熊貓在那裏
df.where(cond=mask, other=df.applymap(f))
凡f
是一個用戶定義的函數,在單個細胞進行操作。我不能使用other=f
,因爲它似乎產生了不同的結果。
所以基本上我想在DataFrame的所有單元格中評估函數f
,它不滿足某些條件,我將它作爲mask
給出。
使用where
是不是很有效,因爲它立即評估f
整個數據幀df
,而我只需要在數據幀的一些條目,以評估它有時可以是非常少數的特定條目相比,整個以上使用數據幀。
在解決這種一般情況時,是否有另一種用法/方法更有效?
您能否提供示例數據和函數定義? – skrubber
你不能修改f嗎?如果沒有,'df.applymap(lambda x:f(x)if cond else x)'應該不需要在哪裏做。 – ayhan