我什么时候应该使用熊猫在我的代码中应用()?这是一个自我回答的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)
添加回答
举报
0/150
提交
取消