【发布时间】:2019-09-02 14:59:49
【问题描述】:
我有这个数据框,如果前两个字符相同,我试图找出 Date1 和 Date2 之间的分钟差异,并为此创建一个列。 例如,第一行 22 = 22 那么求 20:27:45 和 20:52:03 之间的差异
Date1 Date2 ID City
0 22 20:27:45 22 20:52:03 76 Denver
1 02 20:16:28 02 20:49:02 45 Austin
2 15 19:35:09 15 20:52:44 233 Chicago
3 30 19:47:53 30 20:18:01 35 Detroit
4 09 19:01:52 09 19:45:26 342 New York City
这是我迄今为止尝试过的:
(pd.to_datetime(data['Date1'].str[3:]).dt.minute - pd.to_datetime(data['Date2'].str[3:]).dt.minute)
这很好,但我想在此处添加该条件。 我尝试创建一个函数:
def f(data):
if data['Date1'][:3] == data['Date2'][:3]:
return pd.to_datetime(data['Date1'][3:]).dt.minute - pd.to_datetime(data['Date2'][3:]).dt.minute
出现错误:
AttributeError: ("'Timestamp' object has no attribute 'dt'", 'occurred at index 0')
我知道将 pd.to_datetime 添加到系列对象是荒谬的,但是如何将其转换为时间戳并以分钟为单位找出差异?
【问题讨论】:
-
前2个字符代表什么?
-
@EdekiOkoh 一天
标签: python pandas datetime timedelta