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

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

從日期時(shí)間獲取一年中的小時(shí)數(shù)

從日期時(shí)間獲取一年中的小時(shí)數(shù)

牧羊人nacy 2023-06-20 17:36:22
有沒有一種簡單的方法可以從日期時(shí)間獲取一年中的小時(shí)數(shù)?dt = datetime(2019, 1, 3, 00, 00, 00) # 03/01/2019 00:00 dt_hour = dt.hour_of_year() # should be something like that預(yù)期輸出:dt_hour = 48獲得minutes_of_year和seconds_of_year
查看完整描述

5 回答

?
一只萌萌小番薯

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

自己實(shí)現(xiàn)的一種方法是:

def hour_of_year(dt): 
    beginning_of_year = datetime.datetime(dt.year, 1, 1, tzinfo=dt.tzinfo)
        return (dt - beginning_of_year).total_seconds() // 3600

這首先創(chuàng)建一個(gè)新的 datetime 對象來表示年初。然后我們計(jì)算自年初以來的時(shí)間(以秒為單位),除以 3600 并取整數(shù)部分以獲得自年初以來經(jīng)過的完整小時(shí)數(shù)。

請注意,使用對象days的屬性timedelta將僅返回自年初以來的完整天數(shù)。


查看完整回答
反對 回復(fù) 2023-06-20
?
哈士奇WWW

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

您可以使用timedelta:


import datetime

dt = datetime.datetime(2019, 1, 3, 00, 00, 00)

dt2 = datetime.datetime(2019, 1, 1, 00, 00, 00)

print((dt-dt2).days*24)

輸出:


48


查看完整回答
反對 回復(fù) 2023-06-20
?
qq_遁去的一_1

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

所有三個(gè)函數(shù),重用它們的代碼。


import datetime


def minutes_of_year(dt):

    return seconds_of_year(dt) // 60


def hours_of_year(dt):

    return minutes_of_year(dt) // 60


def seconds_of_year(dt):

    dt0 = datetime.datetime(dt.year, 1, 1, tzinfo=dt.tzinfo)

    delta = dt-dt0

    return int(delta.total_seconds())

編輯以考慮可能的時(shí)區(qū)信息。


或者:子類 datetime,以便在以后的項(xiàng)目中更容易重用:


import datetime


class MyDateTime(datetime.datetime):

    def __new__(cls, *args, **kwargs):

        return datetime.datetime.__new__(cls, *args, **kwargs)


    def minutes_of_year(self):

        return self.seconds_of_year() // 60


    def hours_of_year(self):

        return self.minutes_of_year() // 60


    def seconds_of_year(self):

        dt0 = datetime.datetime(self.year, 1, 1, tzinfo=self.tzinfo)

        delta = self-dt0

        return int(delta.total_seconds())


# create and use like a normal datetime object

dt = MyDateTime.now()

# properties and functions of datetime still available, of course.

print(dt.day)

# ... and new methods:

print(dt.hours_of_year())


查看完整回答
反對 回復(fù) 2023-06-20
?
躍然一笑

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

我有一個(gè)數(shù)據(jù)框 DF,它的“時(shí)間戳”列的類型為 datetime64[ns]。

列時(shí)間戳如下所示:


DF['Timestamp']:

0      2022-01-01 00:00:00

1      2022-01-01 01:00:00

2      2022-01-01 02:00:00

3      2022-01-01 03:00:00

4      2022-01-01 04:00:00

...       

8755   2022-12-31 19:00:00

8756   2022-12-31 20:00:00

8757   2022-12-31 21:00:00

8758   2022-12-31 22:00:00

8759   2022-12-31 23:00:00

Name: Timestamp, Length: 8760, dtype: datetime64[ns]

我以這種方式提取“一年中的小時(shí)”:


DF['Year']       = DF['Timestamp'].astype('M8[Y]')

DF['DayOfYear']  = (DF['Timestamp'] - DF['Year']).astype('timedelta64[D]')

DF['Hour']       = DF['Timestamp'].dt.hour + 1 

DF['HourOfYear'] = DF['DayOfYear'] * 24 + DF['Hour']

首先,它從時(shí)間戳中提取年份。

接下來,它根據(jù)天數(shù)(換句話說,一年中的某一天)創(chuàng)建從年初到該時(shí)間戳的時(shí)間增量。

然后它從時(shí)間戳中提取小時(shí)。

最后,它使用該公式計(jì)算一年中的小時(shí)。


最后看起來像這樣:


DF:

               Timestamp  ...  HourOfYear

0    2022-01-01 00:00:00  ...  1.0

1    2022-01-01 01:00:00  ...  2.0

2    2022-01-01 02:00:00  ...  3.0

3    2022-01-01 03:00:00  ...  4.0

4    2022-01-01 04:00:00  ...  5.0

...      

8755 2022-12-31 19:00:00  ...  8756.0

8756 2022-12-31 20:00:00  ...  8757.0

8757 2022-12-31 21:00:00  ...  8758.0

8758 2022-12-31 22:00:00  ...  8759.0

8759 2022-12-31 23:00:00  ...  8760.0

[8760 rows x 6columns]


查看完整回答
反對 回復(fù) 2023-06-20
?
繁星點(diǎn)點(diǎn)滴滴

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

你可以寫一個(gè)自定義函數(shù)


def get_time_of_year(dt, type = 'hours_of_year'):

  intitial_date = datetime(dt.year, 1,1, 00, 00, 00) 

  duration = dt - intitial_date


  days, seconds = duration.days, duration.seconds

  hours = days * 24 + seconds // 3600

  minutes = (seconds % 3600) // 60


  if type == 'hours_of_year':

    return hours

  if type == 'days_of_year':

    return days

  if type == 'seconds_of_year':

    return seconds

  if type == 'minuts_of_year':

    return minutes

測試功能


get_time_of_year(dt, 'hours_of_year')

#>>48


查看完整回答
反對 回復(fù) 2023-06-20
  • 5 回答
  • 0 關(guān)注
  • 251 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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