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

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

如何從熊貓中的一系列字符串中提取小時(shí)和分鐘

如何從熊貓中的一系列字符串中提取小時(shí)和分鐘

ibeautiful 2023-04-25 16:50:38
幾個(gè)小時(shí)以來,我一直被這個(gè)看似簡單的問題所困擾。我想將以下字符串轉(zhuǎn)換為分鐘。(如果可以的話,或者小時(shí)和分鐘)。foo['stringtime'] = pd.Series(['1 hour and 59 minutes','2 hours', np.nan, '38 minutes', '4 hours and 31 minutes'])#What I've tried:foo['stringtime'] = foo['stringtime'].str.replace(r'hours?','').str.replace(' minutes','').str.split(' and ')然而,這會'2 hours'造成一種情況'38 minutes'['2']['38']#What I would like to happen:foo.head()output:119120NaN (or 0)38271有什么漂亮優(yōu)雅的 pythonic 方法可以做到這一點(diǎn)嗎?
查看完整描述

2 回答

?
守著一只汪

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

嘗試使用正則表達(dá)式。


前任:


import re


def p_time(val):

    try:

        t = 0

        h = re.search(r"(\d+) hour(s)?", val)

        if h:

            t += int(h.group(1)) * 60

        m = re.search(r"(\d+) minute(s)?", val)

        if m:

            t += int(m.group(1))

        return t

    except:

        pass

    return 0


s = pd.Series(['1 hour and 59 minutes','2 hours', np.nan, '38 minutes', '4 hours and 31 minute'])

print(s.apply(p_time).astype(int))

輸出:


0    119

1    120

2      0

3     38

4    271

dtype: int32


查看完整回答
反對 回復(fù) 2023-04-25
?
慕無忌1623718

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

另一種方法可能只是用于numexpr評估數(shù)值方程:


import numexpr


foo = pd.Series(['1 hour and 59 minutes','2 hours', np.nan, '38 minutes', '4 hours and 31 minutes'])


(foo.str.replace(r' hours?','*60').str.replace(' minutes','').str.replace(' and ', '+')

    .fillna('0').apply(numexpr.evaluate))

輸出:


0    119

1    120

2      0

3     38

4    271


查看完整回答
反對 回復(fù) 2023-04-25
  • 2 回答
  • 0 關(guān)注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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