从给定的两个 pd.Series 创建 pandas 系列

Creating pandas series from two given pd.Series

我有一个 pandas 问题。

所以我有一个 pd.Series、serie_1,如下所示:

timestamp
2010-05-01      2
2010-06-01      1
2010-07-01      2
2010-08-01      3
2010-09-01      0
2010-10-01      5

我还有另一个 pd.Series、serie_2,如下所示:

timestamp
2010-02-01     0
2010-03-01     0
2010-04-01     0
2010-05-01     1
2010-06-01     1
2010-07-01     2
2010-08-01     3
2010-09-01     0
2010-10-01     2

请注意 serie_22010-02-01 开始,而 serie_12010-05-01 开始。我需要从 serie_1serie_2 创建一个 pd.Series,将其命名为 output_serie,这样 output_serie.index 就是 serie_2.index,并且 output_serie.values 等于 serie_1.values/serie_2.values.

输出如下所示:

timestamp
2010-02-01     0
2010-03-01     0
2010-04-01     0
2010-05-01     2
2010-06-01     1
2010-07-01     1
2010-08-01     1
2010-09-01     0
2010-10-01     2

serie_1serie_2中,0值时间戳是相同的(例如,在2010-09-01中),这并非巧合。

唯一的问题是 serie_22010-02-01 开始,我需要在最后的 pd.Series.

中保留那些值为 0 的月份

非常感谢对此问题的任何帮助。

In [53]: serie_1.divide(serie_2).fillna(0).astype(int)
Out[53]: 
2010-02-01    0
2010-03-01    0
2010-04-01    0
2010-05-01    2
2010-06-01    1
2010-07-01    1
2010-08-01    1
2010-09-01    0
2010-10-01    2
dtype: int64

这是我使用的设置:

import pandas as pd

serie_1 = pd.Series([2, 1, 2, 3, 0, 5], index=pd.DatetimeIndex(["2010-05-01", "2010-06-01", "2010-07-01", "2010-08-01", "2010-09-01", "2010-10-01", ]), )

serie_2 = pd.Series([0, 0, 0, 1, 1, 2, 3, 0, 2], index=pd.DatetimeIndex(["2010-02-01", "2010-03-01", "2010-04-01", "2010-05-01", "2010-06-01", "2010-07-01", "2010-08-01", "2010-09-01", "2010-10-01", ]), )