五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    樓主: zwy_0309
    1086 1

    Python +pandas +時(shí)間采樣 [推廣有獎(jiǎng)]

    • 1關(guān)注
    • 3粉絲

    碩士生

    36%

    還不是VIP/貴賓

    -

    威望
    0 級(jí)
    論壇幣
    342 個(gè)
    通用積分
    99.1487
    學(xué)術(shù)水平
    11 點(diǎn)
    熱心指數(shù)
    9 點(diǎn)
    信用等級(jí)
    7 點(diǎn)
    經(jīng)驗(yàn)
    4173 點(diǎn)
    帖子
    69
    精華
    0
    在線時(shí)間
    149 小時(shí)
    注冊(cè)時(shí)間
    2019-6-4
    最后登錄
    2024-12-16

    樓主
    zwy_0309 在職認(rèn)證  發(fā)表于 2020-9-16 12:21:40 |只看作者 |壇友微信交流群|倒序 |AI寫(xiě)論文
    相似文件 換一批

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個(gè)全額獎(jiǎng)學(xué)金名額~ !

    感謝您參與論壇問(wèn)題回答

    經(jīng)管之家送您兩個(gè)論壇幣!

    +2 論壇幣

    前幾天學(xué)了時(shí)間序列構(gòu)造與索引轉(zhuǎn)換的相關(guān)操作,詳情如下:

      

    類別

      

    函數(shù)

    作用或參數(shù)說(shuō)明

    構(gòu)造或生成時(shí)間序列

    Datetime(2001,1,1)

    將字符串轉(zhuǎn)成時(shí)點(diǎn)類型數(shù)值

    Pd.to_datetime(‘2000-02-02’)

    Datetime.strptime(’03-01-2014年’,’%m-%d-%Y年’)

    將不規(guī)則字符串轉(zhuǎn)成時(shí)點(diǎn)類型數(shù)值

    Datetime.strftime(datetime.now(),’today  is : %Y-%m-%d’)

    將時(shí)點(diǎn)類型數(shù)值轉(zhuǎn)成字符串

    DataFrame[‘birthday’].apply(str)

    Pd.date_range(‘20200101’,period=6,freq=’M’)

    按要求生成一個(gè)指定間隔的時(shí)點(diǎn)類型數(shù)值

      

    Freq=’M/MS/2M/1h30min/90T’

    peariodIndex(values,freq=’M’)

    按要求生成一個(gè)指定序列(不一定間隔相同)的時(shí)點(diǎn)類型數(shù)值

    時(shí)間索引轉(zhuǎn)換

    Student.to_peariod(‘A-Aug’)

    將一個(gè)時(shí)點(diǎn)索引按指定格式分成多個(gè)時(shí)期索引數(shù)值

    Student.to_timestamp()

    將時(shí)期索引數(shù)值轉(zhuǎn)換為時(shí)點(diǎn)索引數(shù)值

    Student.asfreq(freq=’D’,how=end)

    時(shí)點(diǎn)索引與時(shí)期索引相互轉(zhuǎn)換

    今天學(xué)習(xí)時(shí)間采樣,個(gè)人認(rèn)為使用時(shí)間索引轉(zhuǎn)換函數(shù)+統(tǒng)計(jì)語(yǔ)句也可以解決今天的部分問(wèn)題,但是今天的采樣函數(shù)resample()更快捷,更靈活,本領(lǐng)還更高。

    1、以月為單位統(tǒng)計(jì)學(xué)生的個(gè)數(shù)

    相當(dāng)于按某格式轉(zhuǎn)換時(shí)間索引,但轉(zhuǎn)換時(shí)間格式后一般需要另存一張dataframe,而resample()卻不需要,能直接使用。

    【腳本】:

      print(students['ID'].resample('M', kind='period').count())

    【結(jié)果】

    2000-09    1

              ..

    2007-07    0

    2007-08    1

    【說(shuō)明】

    1、 這個(gè)采樣相當(dāng)于分組,但也不完全相同于分組,這里會(huì)多出很多你數(shù)據(jù)中原本不存在的組,比如2007-07這個(gè)月份在原數(shù)據(jù)中其實(shí)是不存在的,但按月采樣后,卻是從最小月到最大月的全時(shí)段分組。

    2、 既然分組會(huì)產(chǎn)生空值組,那么怎樣處理呢?

    填充:以最近一個(gè)值向下填充

            如:print(students['height'].resample('M').ffill())

    注意這里不再加kind=’period’;也可以增加limit=2,即

    print(students['height'].resample('M').ffill(limit=2))


    2、以小時(shí)為單位統(tǒng)計(jì)學(xué)生信息

    【腳本】

    print(students['height'].resample('H').ffill(limit=1))

    【結(jié)果】相當(dāng)于[01:00:00,02:00:00)

    15.png

      如果腳本修改為:print(students['height'].resample('H',closed='right').mean())

    16.png


    當(dāng)然標(biāo)簽一樣可以選擇左、右區(qū)間的邊界,這里既然是右閉,那就以右邊界為標(biāo)簽吧,腳本可以寫(xiě)為:

    print(students['height'].resample('H', label='right', closed='right').mean())

    3、以季度為單位采樣并填充

    【腳本】

    print(students['height'].resample('Q-DEC', label='right', closed='right').ffill())

    【結(jié)果】

    17.png


    也可以使用參數(shù)為A的操作


    4、類似股票市場(chǎng)的采樣,采集該時(shí)段內(nèi)開(kāi)盤(pán)值、最大值、最小值、收盤(pán)值

    【腳本】

    print(students['height'].resample('A').ohlc())

    【結(jié)果】

    18.png

    【說(shuō)明】

    O:      open

    H:      high

    L:       low

    C:      close


    二維碼

    掃碼加我 拉你入群

    請(qǐng)注明:姓名-公司-職位

    以便審核進(jìn)群資格,未注明則拒絕

    關(guān)鍵詞:pandas python panda Das Dataframe

    已有 1 人評(píng)分經(jīng)驗(yàn) 收起 理由
    yunnandlg + 100 精彩帖子

    總評(píng)分: 經(jīng)驗(yàn) + 100   查看全部評(píng)分

    沙發(fā)
    zwy_0309 在職認(rèn)證  發(fā)表于 2020-12-15 09:11:35 |只看作者 |壇友微信交流群
    # 獲取某時(shí)間的最后一天(法1)
    from dateutil.relativedelta import relativedelta
    last_date_of_month = datetime(mydate.year, mydate.month, 1) + relativedelta(months=1, days=-1)
    # 獲取某時(shí)間的最后一天(法2)
    from datetime import datetime
    from dateutil.relativedelta import relativedelta

    date_in_feb = datetime.datetime(2013, 2, 21)
    print datetime.datetime(2013, 2, 21) + relativedelta(day=31)

    本版微信群
    加好友,備注cda
    拉您進(jìn)交流群

    京ICP備16021002-2號(hào) 京B2-20170662號(hào) 京公網(wǎng)安備 11010802022788號(hào) 論壇法律顧問(wèn):王進(jìn)律師 知識(shí)產(chǎn)權(quán)保護(hù)聲明   免責(zé)及隱私聲明

    GMT+8, 2025-1-1 12:14