我碰巧在一个包含9994行的df上工作,所以我用过去的代码测试了您的代码,并为您发布了结果。
下面是df的一个示例,不完全是YYYY-MM,但这无关紧要,因为代码可以在以下两种情况下工作:hp2['Mth'][:10]
Out[11]:
0 2016-06-26
1 2016-06-26
2 2016-06-26
3 2016-06-26
4 2016-06-26
5 2016-06-26
6 2016-06-26
7 2016-06-26
8 2016-06-26
9 2016-06-26
Name: Mth, dtype: datetime64[ns]
我在我的数据框上查了你的代码:%timeit hp2['Qtr_Period']= hp2.apply(lambda x: pd.Period(x['Mth'],'Q'), axis=1)
hp2['Qtr_Period'][:10]
1 loop, best of 3: 2.28 s per loop
Out[13]:
0 2016Q2
1 2016Q2
2 2016Q2
3 2016Q2
4 2016Q2
5 2016Q2
6 2016Q2
7 2016Q2
8 2016Q2
9 2016Q2
Name: Qtr_Period, dtype: object
然后我用这个测试了它:%timeit hp2['Qtr_dt