相关疑难解决方法(0)

我什么时候应该在我的代码中使用pandas apply()?

这是一个自我回答的QnA,旨在指导用户应用的缺陷和好处.

我已经看到很多关于Stack Overflow问题的答案涉及使用apply.我也看到用户评论他们说" apply很慢",应该避免".

我已经阅读了很多关于性能主题的文章,解释apply很慢.我还在文档中看到了一个关于如何apply简单地传递UDF的便利函数的免责声明(现在似乎无法找到).因此,普遍的共识是,apply如果可能,应该避免.但是,这引发了以下问题:

  1. 如果apply是如此糟糕,那为什么它在API中呢?
  2. 我应该如何以及何时制作我的代码apply- 免费?
  3. 是否有过任何地方的情况apply不错的(比其他可能的解决方案更好)?

python performance apply pandas

68
推荐指数
3
解决办法
8380
查看次数

如何在熊猫中制作一个简单的频率表

我需要在Pandas数据框中按行计算1到5的整数。例如,对于

import pandas as pd

df = pd.DataFrame({'c1': [3, 1, 2], 'c2': [3, 3, 3], 'c3': [2, 5, None], 'c4': [1, 2, 3]})

   c1  c2   c3  c4
0   3   3  2.0   1
1   1   3  5.0   2
2   2   3  NaN   3    
Run Code Online (Sandbox Code Playgroud)

将创建以下内容:

   n1  n2  n3  n4  n5
0   1   1   2   0   0
1   1   1   1   0   1
2   0   1   2   0   0
Run Code Online (Sandbox Code Playgroud)

我遇到过.value_countscrosstab,但是我只是无法设置其中之一来获取我需要的东西。任何帮助将非常感激。

提前致谢!

python pandas

2
推荐指数
1
解决办法
59
查看次数

标签 统计

pandas ×2

python ×2

apply ×1

performance ×1