将两个 Pandas 列转换为 yyyy-mm-dd HH:MM:SS
convert two Pandas columns into yyyy-mm-dd HH:MM:SS
我有一个 Pandas 数据框,看起来像:
YYYYMMDD HH
0 19900101 1
1 19900101 2
2 19900101 3
3 19900101 4
4 19900101 5
有
YYYYMMDD:整数年月日值。
HH:整数小时值。
我想要得到一个列 'DateTime',它是一个日期时间列,作为 yyyy-mm-dd hh:mm:ss。 (所以,mm:ss=00:00)。
df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d'))
给我 yyyy-mm-dd 作为日期时间,是否有一种奇特的方法可以将 'HH' 值添加到日期时间?
df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d')) + (pd.to_timedelta(df.HH, unit='H'))
解决了。
使用pd.to_datetime
and pd.to_timedelta
:
df['Datetime'] = (pd.to_datetime(df['YYYYMMDD'],format='%Y%m%d')
.add(pd.to_timedelta(df['HH'], 'h')))
print(df)
YYYYMMDD HH Datetime
0 19900101 1 1990-01-01 01:00:00
1 19900101 2 1990-01-01 02:00:00
2 19900101 3 1990-01-01 03:00:00
3 19900101 4 1990-01-01 04:00:00
4 19900101 5 1990-01-01 05:00:00
我有一个 Pandas 数据框,看起来像:
YYYYMMDD HH
0 19900101 1
1 19900101 2
2 19900101 3
3 19900101 4
4 19900101 5
有 YYYYMMDD:整数年月日值。 HH:整数小时值。
我想要得到一个列 'DateTime',它是一个日期时间列,作为 yyyy-mm-dd hh:mm:ss。 (所以,mm:ss=00:00)。
df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d'))
给我 yyyy-mm-dd 作为日期时间,是否有一种奇特的方法可以将 'HH' 值添加到日期时间?
df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d')) + (pd.to_timedelta(df.HH, unit='H'))
解决了。
使用pd.to_datetime
and pd.to_timedelta
:
df['Datetime'] = (pd.to_datetime(df['YYYYMMDD'],format='%Y%m%d')
.add(pd.to_timedelta(df['HH'], 'h')))
print(df)
YYYYMMDD HH Datetime
0 19900101 1 1990-01-01 01:00:00
1 19900101 2 1990-01-01 02:00:00
2 19900101 3 1990-01-01 03:00:00
3 19900101 4 1990-01-01 04:00:00
4 19900101 5 1990-01-01 05:00:00