如何在Python(Pandas)中将日期格式转换为整数?
解决日期转Excel风格数值的问题
要把你的日期字符串转换成预期的数值类型(Excel日期序列号),可以分两步操作:先将字符串解析为datetime类型,再计算与Excel基准日期的天数差。
完整代码实现
import pandas as pd new_df = { 'date': [ '20/08/2008', '21/08/2008','22/08/2008' ], 'valor': ['a','b','c'] } df = pd.DataFrame(new_df) # 1. 将日期字符串解析为datetime类型,指定格式为日/月/年 df['date'] = pd.to_datetime(df['date'], format='%d/%m/%Y') # 2. 转换为Excel风格的日期序列号(以1899-12-30为基准日计算天数) df['date'] = (df['date'] - pd.Timestamp('1899-12-30')).dt.days print(df)
代码说明
- 解析日期:使用
pd.to_datetime并指定format='%d/%m/%Y',确保日/月/年格式的字符串被正确识别,避免自动解析时出现格式混淆。 - 计算日期序列号:Excel的日期系统以1900-01-01为数值1的起点,对应Python中
1899-12-30与目标日期的天数差。通过计算这个差值,就能得到你需要的39680这类数值。
执行上述代码后,输出将与你预期的一致:
date valor 0 39680 a 1 39681 b 2 39682 c
内容的提问来源于stack exchange,提问作者Zan
相关产品推荐
相关产品推荐

