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

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

Pandas 將日歷映射到索引

Pandas 將日歷映射到索引

白豬掌柜的 2024-01-16 15:17:57
我有一個(gè)全年每小時(shí)系列,我們可以稱之為“日歷”:from pandas import date_range, Seriescalendar = Series(    index=date_range("2006-01-01", "2007-01-01", freq="H", closed="left", tz="utc"),    data=range(365 * 24))現(xiàn)在我有一個(gè)新索引,它是另一個(gè)每小時(shí)序列,但在任意日期時(shí)間開始和結(jié)束:index = date_range("2019-01-01", "2020-10-02", freq="H", tz="utc")我想創(chuàng)建一個(gè)result具有相同索引的新系列index,并且對(duì)于每個(gè)月-日-小時(shí)組合,它從calendar.我可以迭代得到一個(gè)像這樣的工作解決方案,只是try-except忽略 2 月 29 日:result = Series(index=index, dtype="float")for timestamp in result.index:    try:        calendar_timestamp = timestamp.replace(year=2006)    except:        continue    result.loc[timestamp] = calendar.loc[calendar_timestamp]然而,這是非常低效的,所以有人知道如何做得更好嗎?更好是指特別快(CPU 時(shí)間方面)。限制/注釋:沒有 Numba,也沒有 Cython,只有 CPython 和 Pandas/NumPy可以將 2 月 29 日保留為 NaN 值,因?yàn)槿諝v中沒有表示這一天我們總是可以假設(shè)索引已正確排序并且沒有間隙(這同樣適用于日歷)
查看完整描述

1 回答

?
RISEBY

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

讓我們嘗試將組合提取為字符串和映射:

cal1 = pd.Series(calendar.values,
                 index=calendar.index.strftime('%m%d%H'))

result = index.to_series().dt.strftime('%m%d%H').map(cal1)

輸出:

https://img1.sycdn.imooc.com/65a62dd80001b90e03870258.jpg

查看完整回答
反對(duì) 回復(fù) 2024-01-16
  • 1 回答
  • 0 關(guān)注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報(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)