【发布时间】:2018-11-03 00:38:23
【问题描述】:
我有一个数据框,其中包含如下所示的两个时间字段。当我尝试在它们之间获取 Timedelta 时,我收到以下错误消息。我已经为这些字段包含了 .info() 。有谁知道问题是什么,你能建议如何解决它吗?非常感谢任何提示。
Data:
et_utc ts_utc
0 2018-05-02 09:24:29.304000+00:00 2018-05-02 09:39:15+00:00
1 2018-05-02 09:26:12.132000+00:00 2018-05-02 09:39:15+00:00
2 2018-05-02 09:28:37.913000+00:00 2018-05-02 09:39:12+00:00
3 2018-05-02 09:28:37.913000+00:00 2018-05-02 09:28:49+00:00
4 2018-05-02 10:39:48.820000+00:00 2018-05-02 10:39:48+00:00
Data description:
df[[‘et_utc','ts_utc']].info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 25625 entries, 0 to 25624
Data columns (total 2 columns):
et_utc 25625 non-null datetime64[ns, UTC]
ts_utc 25625 non-null datetime64[ns, UTC]
dtypes: datetime64[ns, UTC](2)
memory usage: 1.8 MB
Code:
df['t_delta']=pd.Timedelta(df['et_utc'] - df['ts_utc']).seconds
Error:
ValueError: Value must be Timedelta, string, integer, float, timedelta or convertible
【问题讨论】:
-
如果你只执行
df['t_delta']=(df['et_utc'] - df['ts_utc']).seconds会发生什么? -
@wwii 感谢您回复我。当我尝试您的建议时,我收到错误“AttributeError: 'Series' object has no attribute 'seconds'”
标签: python python-2.7 pandas time-series