【发布时间】:2025-12-10 23:15:01
【问题描述】:
我有一个日期格式如下的 DataFrame:
12/31/2000 20:00 (月/日/年时:分)
问题是数据集中有一些日期是错误的,例如:
10/12/2003 24:00 应该是 10/13/2003 00:00
这是我运行 dfUFO[wrongFormat] 时得到的结果
所以我在熊猫笔记本中有以下代码来重新格式化这些日期:
def convert2400ToTimestamp(x) :
date = pd.to_datetime(x.datetime.split(" ")[0], format='%m/%d/%Y')
return date + pd.Timedelta(days=1)
wrongFormat = dfUFO.datetime.str.endswith("24:00", na=False)
dfUFO[wrongFormat] = dfUFO[wrongFormat].apply(convert2400ToTimestamp, axis=1)
这段代码导致
ValueError: Must have equal len keys and value when setting with an iterable
我真的不明白这个错误是什么意思。我错过了什么?
编辑:改为
dfUFO.loc[wrongFormat, 'datetime'] = dfUFO[wrongFormat].apply(convert2400ToTimestamp, axis=1)
但 datetime 现在显示日期 10/11/2006
的值,例如 1160611200000000000【问题讨论】:
标签: python pandas datetime dataframe timestamp