我有一个数据帧,如下所示-click here for image对于每个范围<< [From'到'To',我想创建一个date_range。所以我正在遍历数据框。对于每一行,都会生成一个DatetimeIndex。
我试图将其转换为数据框,并将其附加到空数据框,所以我有了整体范围。但是最终的数据帧(day_wise)最终为空!所以不知道问题出在哪里。day_wise = pd.DataFrame(columns=['day'])
for index, row in elec_ds.iterrows():
for_day = pd.date_range(start=row['From'], end=row['To'], freq='D')
for_day = pd.DataFrame(for_day)
day_wise.append(for_day)
for
循环。假设您使用的是熊猫v0.25或更高版本,则可以使用explode
:day_wise = df.apply(lambda row: pd.date_range(row['From'], row['To']), axis=1) \
.explode() \
.to_frame('Day')
结果:
Day 0 2018-10-23 0 2018-10-24 0 2018-10-25 0 2018-10-26 0 2018-10-27
说明:
apply(lambda ..., axis=1)
使日期范围从每一行的From
和To
列中explode
将范围分为不同的日子to_frame
将系列转换为数据框