如何解决Pandas date_range生成格式化日期时出现额外空字符串的问题
Pandas 2.2.2中date_range.format()返回额外空字符串的解决方法
你遇到的空字符串问题是因为DatetimeIndex.format()的设计特性——它原本用于生成适合打印的格式化输出,会预留索引名称的位置,当索引没有名称时,就会插入一个空字符串作为列表的第一个元素。同时这个方法已被官方弃用,警告信息里也给出了替代方案。
以下是两种推荐的解决方法:
方法一:使用map()配合strftime(自定义格式化)
如果需要自定义日期格式,用map()调用strftime方法:
import pandas as pd dates = pd.date_range('2000-01-01', '2000-01-03') formatted_dates = dates.map(lambda x: x.strftime('%Y-%m-%d')).tolist() print(formatted_dates) # 输出: ['2000-01-01', '2000-01-02', '2000-01-03']
方法二:直接astype(str)(ISO格式)
如果你的需求就是%Y-%m-%d这种ISO标准日期格式,直接转字符串更高效:
import pandas as pd dates = pd.date_range('2000-01-01', '2000-01-03') formatted_dates = dates.astype(str).tolist() print(formatted_dates) # 输出: ['2000-01-01', '2000-01-02', '2000-01-03']
内容的提问来源于stack exchange,提问作者chuaxr
相关产品推荐
相关产品推荐

