我遇到了熊猫问题。
所以我有一个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_2
以2010-02-01
开头,而serie_1
以2010-05-01
开头。我需要从output_serie
和serie_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-01
以serie_2
开头,我需要在最后的pd.Series中将这些月份的值保留为0。
在此问题上的任何帮助将不胜感激。
答案 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", ]), )