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

时间:2019-08-18 09:56:55

标签: python pandas series

我遇到了熊猫问题。

所以我有一个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。系列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开头。我需要从output_serieserie_1创建一个pd.Series,将其命名为serie_2,这样output_serie.index就是serie_2.index,而{{1} }等于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_1中,0值的时间戳是相同的(例如,在serie_2中是相同的)不是偶然的。

唯一的问题是2010-09-01serie_2开头,我需要在最后的pd.Series中将这些月份的值保留为0。

在此问题上的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

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", ]), )