如果你環顧了一下,似乎是個不可能走出一個TimeDelta的:
In [193]: date_1 = pd.to_datetime('2015-01-02 12:13:14')
In [194]: date_2 = pd.to_datetime('2012-03-02 12:13:14')
In [195]: date_1 - date_2
Out[195]: Timedelta('1036 days 00:00:00')
In [199]: td_1.
td_1.asm8 td_1.days td_1.freq td_1.microseconds td_1.resolution td_1.to_pytimedelta td_1.value
td_1.ceil td_1.delta td_1.is_populated td_1.min td_1.round td_1.to_timedelta64 td_1.view
td_1.components td_1.floor td_1.max td_1.nanoseconds td_1.seconds td_1.total_seconds
In [199]: td_1.components
Out[199]: Components(days=1036, hours=0, minutes=0, seconds=0, milliseconds=0, microseconds=0, nanoseconds=0)
此外,Components
不提供看似相同值的不同面值,但
In [213]: td_1.components.days
Out[213]: 1036
In [214]: td_1.components.hours
Out[214]: 0
最後,似乎有什麼你一直在做直到現在似乎是「最佳」的解決方案:
In [214]: td_1.components.days/30
Out[214]: 34.53333333333333
In [215]: np.round(td_1.components.days/30)
Out[215]: 35.0
In [216]: np.floor(td_1.components.days/30)
Out[216]: 34.0
真的不是好消息,而是無論如何都是一個解決方案。
至於比較matlab自帶的文檔對這個熊貓來說,你是對的。但是,如果您要比較兩者的價格標籤以及一些問題的答案。(?)
此外,我似乎無法將結果轉換爲整數。有任何想法嗎? –
嗯,我在這裏找到http://stackoverflow.com/questions/22132525/add-column-with-number-of-days-between-dates-in-dataframe-pandas如何從timedelta轉換爲float:除以np .timedelta64(1, 'd')。爲什麼以及它在哪裏被記錄,是單獨的問題! –