pandas处理时间字符串相减

标题 利用pandas中的函数to_datetime()装换

原字符串数据如下:即‘2014/3/31‘
在这里插入图片描述
利用pd.to_datetime(data[‘LOAD_TIME’])转换过后为:
在这里插入图片描述
此时的内容已经可以进行加减计算了,dtype为datetime64
计算结果为:可以看到结果是数字+空格+days的形式,但dtype为timedelta64
在这里插入图片描述
要想取出其中的数字可进行如下操作:

L = L.astype('str').str.split(' ').str[0]

L为计算时间差的结果,先将类型转换为str,然后在进行分割,最后才进行取数。但是其中需要注意的是一定要加str,如下所示:

L = L.astype('str').split(' ')

这样的写法会报错,即Series对象是没有split属性的,所以要加上.str,使用str()方法
在这里插入图片描述

### 回答1: 可以使用pandas的Timedelta函数来实现日期相减,然后使用days属性获取相差的天数,最后转换为int类型。代码如下: ```python import pandas as pd date1 = pd.to_datetime('2021-01-01') date2 = pd.to_datetime('2021-01-10') delta = date2 - date1 result = int(delta.days) print(result) ``` 输出结果为:9 ### 回答2: 要实现pandas两个日期相减并得到int值,可以使用`datetime`模块和`Timedelta`类来完成。 首先,导入`pandas`和`datetime`模块: ```python import pandas as pd from datetime import datetime ``` 然后,创建一个`DataFrame`对象,其包含两个日期列: ```python df = pd.DataFrame({'start_date': ['2021-01-01', '2021-01-05'], 'end_date': ['2021-01-10', '2021-01-15']}) ``` 接下来,将日期列的数据类型转换为`datetime`类型: ```python df['start_date'] = pd.to_datetime(df['start_date']) df['end_date'] = pd.to_datetime(df['end_date']) ``` 最后,使用`Timedelta`类计算两个日期的差值,并将结果转换为整数: ```python df['date_diff'] = (df['end_date'] - df['start_date']).dt.days ``` 代码的`(df['end_date'] - df['start_date']).dt.days`会返回一个`Series`对象,其包含了两个日期相差的天数,`.dt.days`会将结果转换为整数。 完整的实现代码如下: ```python import pandas as pd from datetime import datetime df = pd.DataFrame({'start_date': ['2021-01-01', '2021-01-05'], 'end_date': ['2021-01-10', '2021-01-15']}) df['start_date'] = pd.to_datetime(df['start_date']) df['end_date'] = pd.to_datetime(df['end_date']) df['date_diff'] = (df['end_date'] - df['start_date']).dt.days print(df['date_diff']) ``` 输出结果为: ``` 0 9 1 10 Name: date_diff, dtype: int64 ``` 这样就实现了将两个日期相减并得到整数值的功能。 ### 回答3: 可以使用pandas的`to_datetime`函数将日期字符串转换为日期对象,然后使用`timedelta`函数计算两个日期之间的差值,并将结果转换为整数。 以下是一个示例代码: ```python import pandas as pd # 输入日期字符串 date_str1 = "2022-09-20" date_str2 = "2022-10-01" # 将日期字符串转换为日期对象 date1 = pd.to_datetime(date_str1) date2 = pd.to_datetime(date_str2) # 计算日期差值并转换为整数 date_diff = (date2 - date1).days # 打印结果 print("两个日期相差的天数为:", date_diff) ``` 在上述代码,首先导入了pandas库。然后,定义了两个日期字符串`date_str1`和`date_str2`。接下来,使用`to_datetime`函数将这两个字符串转换为日期对象`date1`和`date2`。然后,使用`timedelta`函数计算两个日期之间的差值,并将结果保存在`date_diff`变量。最后,打印出这两个日期相差的天数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值