相关疑难解决方法(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 DatetimeIndex date1,返回DatetimeIndex date2,这是下个月的第一天?

例如,如果date1是'2011-09-30',那么date2是'2011-10-01'?

我试过这个班轮

    df.index.to_period("M").to_timestamp('M')
Run Code Online (Sandbox Code Playgroud)

但这似乎只能回归​​"同月的最后一天".这里可以做一些日期时算术吗?

谢谢!

python-datetime pandas

11
推荐指数
1
解决办法
9874
查看次数

检查日期是否位于 pandas 的上半月或下半月

我有一个由日期列组成的数据框,但日期列是字符串。如何检查日期是在上半月还是下半月,并添加带有帐单日期的另一列

例如

如果日期是08-10-2020(格式为 dd-mm-yyyy),则该billing date列将包含同月 16 日,如果日期位于 17-31 之间,则计费日期将包含下个月的 1 日

数据:

print(df['dispatch_date'].head())

0    01-10-2020
1    07-10-2020
2    17-10-2020
3    16-10-2020
4    09-10-2020
Name: dispatch_date, dtype: object
Run Code Online (Sandbox Code Playgroud)

示例输出:

                 billing date
0    01-10-2020  16-10-2020
1    07-10-2020  16-10-2020
2    17-10-2020  01-11-2020
3    16-10-2020  01-11-2020
4    09-10-2020  16-10-2020
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
1695
查看次数

标签 统计

pandas ×3

python ×2

apply ×1

performance ×1

python-datetime ×1