亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我什么時候應該使用熊貓在我的代碼中應用()?

我什么時候應該使用熊貓在我的代碼中應用()?

郎朗坤 2019-07-03 16:39:54
我什么時候應該使用熊貓在我的代碼中應用()?這是一個自我回答的QNA,目的是讓用戶了解應用的缺陷和好處。我見過很多關于Stack溢出的問題的答案,涉及到應用程序的使用。我也看到用戶在他們下面評論說:“apply是緩慢的“,應該避免”。我讀過許多關于性能主題的文章,這些文章解釋了apply很慢。我還在文檔中看到了一個免責聲明apply只是傳遞UDF的一個方便函數(現在似乎找不到)。所以,大家的共識是apply如果可能的話應該避免。然而,這提出了以下問題:如果apply是如此糟糕,那么為什么它在API中呢?我應該如何以及何時編寫我的代碼apply-免費?有沒有什么情況apply是好的(比其他可能的解決方案更好)?
查看完整描述

3 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超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)


查看完整回答
反對 回復 2019-07-03
  • 3 回答
  • 0 關注
  • 426 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號