Python 将年、月和日转换为日期时间
我有福勒。数据FRME:Python 将年、月和日转换为日期时间,python,pandas,Python,Pandas,我有福勒。数据FRME: YEAR MO DY name_col 0 2016.0 1.0 5.0 0.00 1 2016.0 1.0 6.0 0.00 2 2016.0 1.0 7.0 0.41 3 2016.0 1.0 8.0 0.53 4 2016.0 1.0 9.0 2.12 如何将分别表示年、月和日的年、月和日列转换为datetime YEAR MO DY nam
YEAR MO DY name_col
0 2016.0 1.0 5.0 0.00
1 2016.0 1.0 6.0 0.00
2 2016.0 1.0 7.0 0.41
3 2016.0 1.0 8.0 0.53
4 2016.0 1.0 9.0 2.12
如何将分别表示年、月和日的年、月和日列转换为datetime
YEAR MO DY name_col datetime
0 2016.0 1.0 5.0 0.00 2016-01-05
1 2016.0 1.0 6.0 0.00 2016-01-06
2 2016.0 1.0 7.0 0.41 2016-01-07
3 2016.0 1.0 8.0 0.53 2016-01-08
4 2016.0 1.0 9.0 2.12 2016-01-09
我试过这个:
pd.to_datetime(df_met['YEAR'].astype(int), format='%Y') + pd.to_timedelta(df_met['DY'] - 1, unit='d')
如果列的名称“正确”,则可以从多个列组合datetime:
发件人:
从数据帧的多个列组装日期时间。钥匙
可以是常见的缩写,如
[‘年’、‘月’、‘日’、‘分’、‘秒’、‘毫秒’、‘美国’、‘ns’]
或相同的复数形式
如果列的名称“正确”,则可以从多个列组合datetime:
发件人:
从数据帧的多个列组装日期时间。钥匙
可以是常见的缩写,如
[‘年’、‘月’、‘日’、‘分’、‘秒’、‘毫秒’、‘美国’、‘ns’]
或相同的复数形式
In [106]: df
Out[106]:
YEAR MO DY name_col
0 2016.0 1.0 5.0 0.00
1 2016.0 1.0 6.0 0.00
2 2016.0 1.0 7.0 0.41
3 2016.0 1.0 8.0 0.53
4 2016.0 1.0 9.0 2.12
In [107]: df['datetime'] = pd.to_datetime(df.rename(columns={'MO':'MONTH', 'DY':'DAY'}).drop('name_col', 1))
In [108]: df
Out[108]:
YEAR MO DY name_col datetime
0 2016.0 1.0 5.0 0.00 2016-01-05
1 2016.0 1.0 6.0 0.00 2016-01-06
2 2016.0 1.0 7.0 0.41 2016-01-07
3 2016.0 1.0 8.0 0.53 2016-01-08
4 2016.0 1.0 9.0 2.12 2016-01-09