【问题标题】:Change monthly data to daily in pandas [duplicate]在熊猫中将每月数据更改为每日[重复]
【发布时间】:2021-03-23 16:55:27
【问题描述】:

我有一个数据框,其中日期是当月的第一天

date           spend      category
1/Feb/2018     565          Red
1/Dec/2019     674          Blue
1/Feb/2019     878          Green

我想在数据框中创建额外的行以包含该月的每一天,同时复制其他数据

date           spend      category
1/Feb/2018     565          Red
2/Feb/2018     565          Red
.
.
.
27/Feb/2018     565          Red
28/Feb/2018     565          Red
1/Dec/2019     674          Blue
2/Dec/2019     674          Blue
.
.
.
30/Dec/2019     674          Blue
31/Dec/2019     674          Blue
1/Feb/2019     878          Green
2/Feb/2019     878          Green
.
.    
27/Feb/2019     878          Green
28/Feb/2019     878          Green

我有很长的路要走,但是有几行可以实现同样的事情吗?

非常感谢,

【问题讨论】:

标签: pandas


【解决方案1】:

使用Series.dt.to_periodResampler.ffill 按月重新采样,最后添加DataFrame.to_timestampDatetimeIndex

df['date'] = pd.to_datetime(df['date']).dt.to_period('m')
df = df.set_index('date').resample('d').ffill().to_timestamp()
print (df)
            spend category
date                      
2018-02-01    565      Red
2018-02-02    565      Red
2018-02-03    565      Red
2018-02-04    565      Red
2018-02-05    565      Red
          ...      ...
2019-12-27    674     Blue
2019-12-28    674     Blue
2019-12-29    674     Blue
2019-12-30    674     Blue
2019-12-31    674     Blue

[699 rows x 2 columns]

【讨论】:

    猜你喜欢
    • 2016-07-13
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多