Pandas 将两列转换为yyyy-mm-dd HH:mm:SS
我有一个熊猫数据框,看起来像:Pandas 将两列转换为yyyy-mm-dd HH:mm:SS,pandas,formatting,python-datetime,Pandas,Formatting,Python Datetime,我有一个熊猫数据框,看起来像: YYYYMMDD HH 0 19900101 1 1 19900101 2 2 19900101 3 3 19900101 4 4 19900101 5 与 YYYYMMDD:以整数形式表示的年-月-日值。 HH:作为整数的小时值 我想得到一列“DateTime”,它是一个DateTime列,名为yyyy-mm-dd hh:mm:ss。(因此,mm:ss=00:00) 给我yyyy-mm-dd作为日期时间,是否有一种奇特的方
YYYYMMDD HH
0 19900101 1
1 19900101 2
2 19900101 3
3 19900101 4
4 19900101 5
与
YYYYMMDD:以整数形式表示的年-月-日值。
HH:作为整数的小时值
我想得到一列“DateTime”,它是一个DateTime列,名为yyyy-mm-dd hh:mm:ss。(因此,mm:ss=00:00)
给我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'))
解决了 使用和:
df['DateTime'] = df['YYYYMMDD'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d')) + (pd.to_timedelta(df.HH, unit='H'))
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