簡體   English   中英

使用 pandas 將年轉換為天

[英]convert years into days using pandas

我有看起來像這樣的數據框

 A    B
    FIN $500
    CERA    4 days 
    CARCERA 180 days 
    PRABA   1 years 
    feat    4 years 4 YEARS 
    Pods    3 years 
    FIN     $250

我想將年份更改為天,例如 1 年必須更改 365 天,4 年必須更改 1460 天

預期 output:

 A       B
    FIN    $500
        CERA    4 days 
        CARCERA 180 days 
        PRABA   365 days 
        feat    1461 days  1461 days 
        Pods    1095 years 
        FIN     $250

不是一個非常優雅的解決方案,但這里是 go:

def func(a):
    b = str(a).split(' ')
    if len(b)>1:
        if b[1]=='years':
            return str(int(b[0])*365)+" days"
        else:
            return a
    else:
        return a


import pandas as pd
df = pd.DataFrame()
df['A'] = ['FIN','CERA','CARCERA','PRADA', 'feat']
df['B'] = ['$500', '4 days', '180 days', '1 years', '4 years']
df['C'] = df['B'].apply(lambda x: func(x))
print(df)

這輸出:

    A   B   C
0   FIN $500    $500
1   CERA    4 days  4 days
2   CARCERA 180 days    180 days
3   PRADA   1 years 365 days
4   feat    4 years 1460 days

正如@Nullman 正確指出的那樣,您必須編輯 function 以包括閏日。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM