python如何把文字类型转换成时间类型并求间隔日期

本文介绍如何将Excel数据导入Pandas后,将字符串日期转换为datetime64格式,并计算用药和发病时间之间的间隔。通过astype函数实现'天'单位的计算,适合数据分析师和开发人员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近处理一批数据,把excel导入pandas中后,发现默认导入为object,需要转化成日期后计算时间用药时间和发病时间的间隔。
在这里插入图片描述
使用time,将其转化为时间格式:

# date是字符串格式,换算成time64[d]格式
import time
copies.date = copies.date.values.astype('datetime64[D]')
计算连个时间点的间隔,直接用“➖”即可:
# 计算采样时为用药和发病的第几天,注意用values.astype("datetime64[D]")转换成“天”格式后计算

data_total["drug_days"] = data_total.date.values.astype("datetime64[D]") - data_total.DURG_DATE.values.astype("datetime64[D]")
data_total["onset_days"] = data_total.date.values.astype("datetime64[D]") - data_total.ONSET_DATE.values.astype("datetime64[D]")

### 使用 Python 获取前一天日期转换为文本格式 为了实现这一目标,可以利用 `datetime` 模块中的功能来获取当前日期通过减去一个时间间隔对象 (`timedelta`) 来计算前一天的日期。最后,使用字符串格式化方法将日期对象转化为所需的文本格式。 以下是具体的实现方式: ```python from datetime import datetime, timedelta # 获取今天的日期 today = datetime.today() # 计算昨天的日期 yesterday = today - timedelta(days=1) # 将昨天的日期格式化 'YYYY-MM-DD' 的字符串形式 formatted_yesterday = yesterday.strftime('%Y-%m-%d') print("Yesterday's date as text is:", formatted_yesterday) ``` 这段代码首先导入必要的模块,接着创建了一个代表今日日期的对象 `today`,之后通过减少一天的方式得到了昨日的日期对象 `yesterday`。最终一步则是应用 `.strftime()` 方法按照指定模式 ('%Y-%m-%d') 对日期进行了格式化的输出[^1]。 如果希望得到更详细的日期表达,比如包含星期几的信息,则可以在格式化模板中加入相应的占位符: ```python full_formatted_yesterday = yesterday.strftime("%A, %B %d, %Y") print("Full textual representation of yesterday:", full_formatted_yesterday) ``` 这里 `%A` 表示完整的星期名称,而 `%B` 则用于表示月份全名[^2]。 #### 注意事项 当执行上述脚本时,请注意操作系统环境下的区域设置可能会影响某些特定格式的结果显示,例如星期和月份数字与文字之间的对应关系可能会有所不同[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值