使用.dt访问器:
s_df['elapsed_seconds'] = s_df['delta_t'].dt.total_seconds()
例:
In [82]:df = pd.Dataframe({'date': pd.date_range(dt.datetime(2010,1,1), dt.datetime(2010,2,1))})df['delta'] = df['date'] - df['date'].iloc[0]dfOut[82]: date delta0 2010-01-01 0 days1 2010-01-02 1 days2 2010-01-03 2 days3 2010-01-04 3 days4 2010-01-05 4 days5 2010-01-06 5 days6 2010-01-07 6 days7 2010-01-08 7 days8 2010-01-09 8 days9 2010-01-10 9 days10 2010-01-11 10 days11 2010-01-12 11 days12 2010-01-13 12 days13 2010-01-14 13 days14 2010-01-15 14 days15 2010-01-16 15 days16 2010-01-17 16 days17 2010-01-18 17 days18 2010-01-19 18 days19 2010-01-20 19 days20 2010-01-21 20 days21 2010-01-22 21 days22 2010-01-23 22 days23 2010-01-24 23 days24 2010-01-25 24 days25 2010-01-26 25 days26 2010-01-27 26 days27 2010-01-28 27 days28 2010-01-29 28 days29 2010-01-30 29 days30 2010-01-31 30 days31 2010-02-01 31 daysIn [83]:df['total_seconds'] = df['delta'].dt.total_seconds()dfOut[83]: date delta total_seconds0 2010-01-01 0 days 01 2010-01-02 1 days 864002 2010-01-03 2 days 1728003 2010-01-04 3 days 2592004 2010-01-05 4 days 3456005 2010-01-06 5 days 4320006 2010-01-07 6 days 5184007 2010-01-08 7 days 6048008 2010-01-09 8 days 6912009 2010-01-10 9 days 77760010 2010-01-11 10 days 86400011 2010-01-12 11 days 95040012 2010-01-13 12 days 103680013 2010-01-14 13 days 112320014 2010-01-15 14 days 120960015 2010-01-16 15 days 129600016 2010-01-17 16 days 138240017 2010-01-18 17 days 146880018 2010-01-19 18 days 155520019 2010-01-20 19 days 164160020 2010-01-21 20 days 172800021 2010-01-22 21 days 181440022 2010-01-23 22 days 190080023 2010-01-24 23 days 198720024 2010-01-25 24 days 207360025 2010-01-26 25 days 216000026 2010-01-27 26 days 224640027 2010-01-28 27 days 233280028 2010-01-29 28 days 241920029 2010-01-30 29 days 250560030 2010-01-31 30 days 259200031 2010-02-01 31 days 2678400


