如何解决如何在 Pandas 中重复 DatetimeIndex
如何创建重复日期范围?比如我想下面重复三遍
rng = pd.date_range('1/1/2011',periods=3,freq='W')
预期输出:
2011-01-02
2011-01-09
2011-01-16
2011-01-02
2011-01-09
2011-01-16
2011-01-02
2011-01-09
2011-01-16
我已经尝试过:
rng = pd.concat([rng] * 3,axis=1) #这不适用于日期
rng = np.repeat(rng,3) #这样每个日期重复3次而不是列表3次?
解决方法
如果需要,我们可以使用 np.tile
并用 DatetimeIndex
包裹以保持类型:
rng = pd.DatetimeIndex(
np.tile(pd.date_range('1/1/2011',periods=3,freq='W'),3)
)
rng
:
DatetimeIndex(['2011-01-02','2011-01-09','2011-01-16','2011-01-02','2011-01-16'],dtype='datetime64[ns]',freq=None)
,
用reduce试试
import functools
functools.reduce(pd.Index.append,[rng]*3)
Out[70]:
DatetimeIndex(['2011-01-02',freq=None)
,
您可以使用 concat 函数到 PD 系列
rng = pd.date_range('1/1/2011',freq='W').to_series(index=[0,1,2])
pd.concat([rng]*3)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。