2 回答

TA貢獻1871條經(jīng)驗 獲得超8個贊
從結(jié)束日期中減去開始日期并將時間增量轉(zhuǎn)換為月份。
import pandas as pd
dates = [{'Start':'1-1-2020', 'End':'31-10-2020'}, {'Start':'1-2-2020', 'End':'30-11-2020'}]
df = pd.DataFrame(dates)
df['Start'] = pd.to_datetime(df['Start'], dayfirst=True)
df['End'] = pd.to_datetime(df['End'], dayfirst=True)
df['Duration'] = (df['End']-df['Start']).astype('<m8[M]').astype(int)+1
print(df)
輸出:
Start End Duration
0 2020-01-01 2020-10-31 10
1 2020-02-01 2020-11-30 10

TA貢獻1852條經(jīng)驗 獲得超1個贊
嘗試這個
dates = [{'Start':'1-1-2020', 'End':'31-10-2020'}, {'Start':'1-2-2020', 'End':'30-11-2020'}]
df = pd.DataFrame(dates)
df['Start'] = pd.to_datetime(df['Start'], dayfirst=True)
df['End'] = pd.to_datetime(df['End'], dayfirst=True)
df['Duration'] = (df['End'] - df['Start']).apply(lambda x:x.days//30)
print(df)
添加回答
舉報