<p>您可以使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.dt.total_seconds.html" rel="noreferrer">^{<cd1>}</a>并将其除以一天中的总秒数,例如:</p>
<pre><code>In [25]:
df = pd.DataFrame({'dates':pd.date_range(dt.datetime(2016,1,1, 12,15,3), periods=10)})
df
Out[25]:
dates
0 2016-01-01 12:15:03
1 2016-01-02 12:15:03
2 2016-01-03 12:15:03
3 2016-01-04 12:15:03
4 2016-01-05 12:15:03
5 2016-01-06 12:15:03
6 2016-01-07 12:15:03
7 2016-01-08 12:15:03
8 2016-01-09 12:15:03
9 2016-01-10 12:15:03
In [26]:
df['time_delta'] = df['dates'] - pd.datetime(2015,11,6,8,10)
df
Out[26]:
dates time_delta
0 2016-01-01 12:15:03 56 days 04:05:03
1 2016-01-02 12:15:03 57 days 04:05:03
2 2016-01-03 12:15:03 58 days 04:05:03
3 2016-01-04 12:15:03 59 days 04:05:03
4 2016-01-05 12:15:03 60 days 04:05:03
5 2016-01-06 12:15:03 61 days 04:05:03
6 2016-01-07 12:15:03 62 days 04:05:03
7 2016-01-08 12:15:03 63 days 04:05:03
8 2016-01-09 12:15:03 64 days 04:05:03
9 2016-01-10 12:15:03 65 days 04:05:03
In [27]:
df['total_days_td'] = df['time_delta'].dt.total_seconds() / (24 * 60 * 60)
df
Out[27]:
dates time_delta total_days_td
0 2016-01-01 12:15:03 56 days 04:05:03 56.170174
1 2016-01-02 12:15:03 57 days 04:05:03 57.170174
2 2016-01-03 12:15:03 58 days 04:05:03 58.170174
3 2016-01-04 12:15:03 59 days 04:05:03 59.170174
4 2016-01-05 12:15:03 60 days 04:05:03 60.170174
5 2016-01-06 12:15:03 61 days 04:05:03 61.170174
6 2016-01-07 12:15:03 62 days 04:05:03 62.170174
7 2016-01-08 12:15:03 63 days 04:05:03 63.170174
8 2016-01-09 12:15:03 64 days 04:05:03 64.170174
9 2016-01-10 12:15:03 65 days 04:05:03 65.170174
</code></pre>