我什么時候應(yīng)該使用熊貓?jiān)谖业拇a中應(yīng)用()?這是一個自我回答的QNA,目的是讓用戶了解應(yīng)用的缺陷和好處。我見過很多關(guān)于Stack溢出的問題的答案,涉及到應(yīng)用程序的使用。我也看到用戶在他們下面評論說:“apply是緩慢的“,應(yīng)該避免”。我讀過許多關(guān)于性能主題的文章,這些文章解釋了apply很慢。我還在文檔中看到了一個免責(zé)聲明apply只是傳遞UDF的一個方便函數(shù)(現(xiàn)在似乎找不到)。所以,大家的共識是apply如果可能的話應(yīng)該避免。然而,這提出了以下問題:如果apply是如此糟糕,那么為什么它在API中呢?我應(yīng)該如何以及何時編寫我的代碼apply-免費(fèi)?有沒有什么情況apply是好的(比其他可能的解決方案更好)?
3 回答

慕桂英3389331
TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個贊
axis=1
apply
pandas
apply
)
def faster_df_apply(df, func): cols = list(df.columns) data, index = [], [] for row in df.itertuples(index=True): row_dict = {f:v for f,v in zip(cols, row[1:])} data.append(func(row_dict)) index.append(row[0]) return pd.Series(data, index=index)
添加回答
舉報
0/150
提交
取消