String 从datetime列中减去str列
我们无法从当前时间列中减去时间列,因为它们的格式不同:Y-d-m HMS和Y-m-d HMS。我们不能改变时间栏中的阅读顺序。因此,我们必须更改当前列的时间格式,并将其作为datetime对象 我们尝试了String 从datetime列中减去str列,string,pandas,datetime,String,Pandas,Datetime,我们无法从当前时间列中减去时间列,因为它们的格式不同:Y-d-m HMS和Y-m-d HMS。我们不能改变时间栏中的阅读顺序。因此,我们必须更改当前列的时间格式,并将其作为datetime对象 我们尝试了pd.to_datetime(df['Our time column']),但是这将当前列按相同顺序排列:ex:2019-05-08 05:58:00 df['lenghtofstay']= (df['Current time']-df['Our time column']) df['lengh
pd.to_datetime(df['Our time column'])
,但是这将当前列按相同顺序排列:ex:2019-05-08 05:58:00
df['lenghtofstay']= (df['Current time']-df['Our time column'])
df['lenghtofstay'].head()
错误答案:
98天07:50:02.393562
当前时间:2019-08-1413:54:40.303740
我们的时间专栏:05-08-2019 05:58
当前时间-我们的时间列:新列:9天xx:xx:xx如果列
我们的时间列
中的所有值都具有格式Y-d-m H:m:S
,则可以通过格式
参数指定:
df = pd.DataFrame({'Current time':['2019-08-14 13:54:40.303740','2019-05-10 05:58:00'],
'Our time column':['2019-05-08 05:58:00','2019-06-04 05:58:00']})
df['Current time'] = pd.to_datetime(df['Current time'],)
df['Our time column'] = pd.to_datetime(df['Our time column'], format='%Y-%d-%m %H:%M:%S')
df['lenghtofstay']= (df['Current time']-df['Our time column'])
print (df)
Current time Our time column lenghtofstay
0 2019-08-14 13:54:40.303740 2019-08-05 05:58:00 9 days 07:56:40.303740
1 2019-05-10 05:58:00.000000 2019-04-06 05:58:00 34 days 00:00:00
执行两次pd.to_datetime()
以使两列的格式相同
df['Current time']= pd.to_datetime(df['Current time'],format='%Y-%m-%d %H:%M:%S').dt.strftime('%Y-%d-%m %H:%M:%S')
df['Current time']= pd.to_datetime(df['Current time'],format='%Y-%d-%m %H:%M:%S')
然后您可以进行差值计算谢谢您的回答。“我们的时间列”日期的格式为:05-08-2019 05:58名称:我们的时间列,数据类型:object,和格式=“%d-%m-%Y%H:%m,很遗憾,无法工作。如果要将此格式更改为工作的一次性数据“05-08-2019 05:58”与格式“%Y-%d-%m%H:%m'oops,对不起-
格式=“%m-%d-%Y%H:%m”)
或者如果第一天“格式=“%d-%m-%Y%H:%m”)
或尝试参数dayfirst=True
安装格式