相关疑难解决方法(0)

使用pandas在开始日期和结束日期之间获取工作日

我正在使用熊猫,我想知道使用熊猫在开始日期和结束日期之间的最简单方法是什么?

关于在Python中执行此操作有很多帖子(例如),但我有兴趣直接使用pandas,因为我认为pandas可能很容易处理这个问题.

python pandas

24
推荐指数
6
解决办法
4万
查看次数

计算两个系列之间的工作日

有没有比bdate_range()更好的方法来测量两个日期之间通过熊猫的工作日?

df = pd.DataFrame({ 'A' : ['1/1/2013', '2/2/2013', '3/3/2013'],
 'B': ['1/12/2013', '4/4/2013', '3/3/2013']})
print df
df['A'] = pd.to_datetime(df['A'])
df['B'] = pd.to_datetime(df['B'])
f = lambda x: len(pd.bdate_range(x['A'], x['B']))
df['DIFF'] = df.apply(f, axis=1)
print df
Run Code Online (Sandbox Code Playgroud)

输出:

          A          B
0  1/1/2013  1/12/2013
1  2/2/2013   4/4/2013
2  3/3/2013   3/3/2013
                    A                   B  DIFF
0 2013-01-01 00:00:00 2013-01-12 00:00:00     9
1 2013-02-02 00:00:00 2013-04-04 00:00:00    44
2 2013-03-03 00:00:00 2013-03-03 00:00:00     0
Run Code Online (Sandbox Code Playgroud)

谢谢!

python pandas

17
推荐指数
1
解决办法
7480
查看次数

从pandas数据框中删除"重叠"日期

我有一个pandas数据框,如下所示:

ID  date       close
1   09/15/07   123.45
2   06/01/08   130.13
3   10/25/08   132.01
4   05/13/09   118.34
5   11/07/09   145.99
6   11/15/09   146.73
7   07/03/11   171.10
Run Code Online (Sandbox Code Playgroud)

我想删除任何重叠的行.

重叠行定义为另一行X天内的任何行.例如,如果X = 365,则结果应为:

ID  date       close
1   09/15/07   123.45
3   10/25/08   132.01
5   11/07/09   145.99
7   07/03/11   171.10
Run Code Online (Sandbox Code Playgroud)

如果X = 50,结果应为:

ID  date       close
1   09/15/07   123.45
2   06/01/08   130.13
3   10/25/08   132.01
4   05/13/09   118.34
5   11/07/09   145.99
7   07/03/11   171.10
Run Code Online (Sandbox Code Playgroud)

我在这里看了几个问题,但没有找到正确的方法.例如,Pandas检查多行中的重叠日期,最快的方法来消除熊猫数据帧中的特定日期是相似的,但不能完全得到我需要的东西.

我今天有以下丑陋的代码适用于小X值但是当X变大时(例如,当X = 365时),它会删除除原始日期之外的所有日期.

filter_dates = …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

标签 统计

pandas ×3

python ×3