第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

以每小時(shí)為間隔插入 15 分鐘的日期時(shí)間

以每小時(shí)為間隔插入 15 分鐘的日期時(shí)間

開(kāi)滿天機(jī) 2022-11-29 17:10:45
我有一個(gè)包含 3 列的數(shù)據(jù)框,其中第一列是日期時(shí)間??雌饋?lái)像這樣Datetime            Level1   Level22016-02-24 01:00    12       152016-02-24 02:00    14       132016-02-24 03:00    8        12現(xiàn)在我想在每小時(shí)值之間添加 15 分鐘的間隔值。但是,Level1 和 Level2 獲得的值與其前一小時(shí)相同。它應(yīng)該是這樣的:Datetime            Level1   Level22016-02-24 01:00    12       152016-02-24 01:15    12       152016-02-24 01:30    12       152016-02-24 01:45    12       152016-02-24 02:00    14       132016-02-24 02:15    14       132016-02-24 02:30    14       132016-02-24 02:45    14       132016-02-24 03:00    8        122016-02-24 03:15    8        122016-02-24 03:30    8        122016-02-24 03:45    8        12我想不出如何正確執(zhí)行此操作的方法。
查看完整描述

2 回答

?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

將日期時(shí)間設(shè)置為索引(在轉(zhuǎn)換為日期時(shí)間之后),并使用帶有前向填充的 asfreq 方法用以前的值填充空值:


#thanks to @a_guest for the cleaned sample data


df = pd.DataFrame(

    data=[['2016-02-24 01:00', 12, 15],

          ['2016-02-24 02:00', 14, 13],

          ['2016-02-24 03:00',  8, 12]],

    columns=['Datetime', 'Level1', 'Level2']

)

df['Datetime'] = pd.to_datetime(df['Datetime'])


df = df.set_index('Datetime')


df.asfreq('15min',method='pad')


                 Level1 Level2

Datetime        

2016-02-24 01:00:00 12  15

2016-02-24 01:15:00 12  15

2016-02-24 01:30:00 12  15

2016-02-24 01:45:00 12  15

2016-02-24 02:00:00 14  13

2016-02-24 02:15:00 14  13

2016-02-24 02:30:00 14  13

2016-02-24 02:45:00 14  13

2016-02-24 03:00:00 8   12

注意:您的問(wèn)題是時(shí)間間隔為 15 分鐘,您的最晚時(shí)間是下午 3 點(diǎn),而不是數(shù)據(jù)中共享的下午 4 點(diǎn)。


查看完整回答
反對(duì) 回復(fù) 2022-11-29
?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以創(chuàng)建原始數(shù)據(jù)框的副本,其中您Datetime每次將列遞增 15 分鐘,然后使用pd.concatfollowed bysort_values獲得最終結(jié)果:

from datetime import timedelta

import pandas as pd


df = pd.DataFrame(

    data=[['2016-02-24 01:00', 12, 15],

          ['2016-02-24 02:00', 14, 13],

          ['2016-02-24 03:00',  8, 12]],

    columns=['Datetime', 'Level1', 'Level2']

)

df['Datetime'] = pd.to_datetime(df['Datetime'])


intervals = [df]

while len(intervals) < 4:

    new = intervals[-1].copy()

    new['Datetime'] += timedelta(minutes=15)

    intervals.append(new)


result = pd.concat(intervals).sort_values(by='Datetime')


查看完整回答
反對(duì) 回復(fù) 2022-11-29
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)