将 Year 和 DayOfYear,H:M:S 列合并到日期时间对象中
Combining Year and DayOfYear, H:M:S columns into date time object
我有一个格式为 XXXHHMMSS 的时间列,其中 XXX 是一年中的第几天。我也有一个年份专栏。我想将这两列合并到一个日期时间对象中。
之前我将 XXX 分离到一个新列中,但这使它变得更加复杂。
我已将两列转换为字符串
points['UTC_TIME'] = points['UTC_TIME'].astype(str)
分['YEAR_'] = 分['YEAR_'].astype(str)
然后我有下面一行:
points['Time'] = pd.to_datetime(points['YEAR_'] * 1000 + points['UTC_TIME'], format='%Y%j%H%M%S')
我收到值错误,ValueError:时间数据“137084552”与格式“%Y%j%H%M%S”不匹配(匹配)
这是我专栏的照片和 link data
如果您将两列组合为字符串,对我来说效果很好,例如:
import pandas as pd
df = pd.DataFrame({'YEAR_': [2002, 2002, 2002],
'UTC_TIME': [99082552, 135082552, 146221012]})
pd.to_datetime(df['YEAR_'].astype(str) + df['UTC_TIME'].astype(str).str.zfill(9),
format="%Y%j%H%M%S")
# 0 2002-04-09 08:25:52
# 1 2002-05-15 08:25:52
# 2 2002-05-26 22:10:12
# dtype: datetime64[ns]
请注意,由于 %j
预计一年中的第 zero-padded 天,您可能需要 zero-fill,请参阅上例中的第一行。
我有一个格式为 XXXHHMMSS 的时间列,其中 XXX 是一年中的第几天。我也有一个年份专栏。我想将这两列合并到一个日期时间对象中。
之前我将 XXX 分离到一个新列中,但这使它变得更加复杂。
我已将两列转换为字符串
points['UTC_TIME'] = points['UTC_TIME'].astype(str)
分['YEAR_'] = 分['YEAR_'].astype(str)
然后我有下面一行:
points['Time'] = pd.to_datetime(points['YEAR_'] * 1000 + points['UTC_TIME'], format='%Y%j%H%M%S')
我收到值错误,ValueError:时间数据“137084552”与格式“%Y%j%H%M%S”不匹配(匹配)
这是我专栏的照片和 link data
如果您将两列组合为字符串,对我来说效果很好,例如:
import pandas as pd
df = pd.DataFrame({'YEAR_': [2002, 2002, 2002],
'UTC_TIME': [99082552, 135082552, 146221012]})
pd.to_datetime(df['YEAR_'].astype(str) + df['UTC_TIME'].astype(str).str.zfill(9),
format="%Y%j%H%M%S")
# 0 2002-04-09 08:25:52
# 1 2002-05-15 08:25:52
# 2 2002-05-26 22:10:12
# dtype: datetime64[ns]
请注意,由于 %j
预计一年中的第 zero-padded 天,您可能需要 zero-fill,请参阅上例中的第一行。