Pandas 指定在日期时间中使用哪些列

Pandas specify which columns to use in datetime

我有一个 pandas 数据框 df:

df = pd.DataFrame({'year': [2018, 2018,2018,2018,2018,2018],
                   'month': [8, 8,8,8,8,8],
                   'day': [3,3,3,3,3,3],
                   'hour': [11, 12,12,9,7,2],                   
                   'minute': [00, 00,00,00,00,00],                                      
                   'second': [0, 0,0,0,0,0]})
df['X'] = [3,5,4,1,8,2]

然后我指定转换为日期时间所需的属性列表(匹配 df 中的一些但不是全部的列名): L = ['year', 'month', 'day', 'hour', 'minute', 'second'] 然后如何根据列表 L 中指定的属性获取日期时间列?

按列表过滤列并传递给to_datetime:

df['dates'] = pd.to_datetime(df[L])
print (df)
   year  month  day  hour  minute  second  X               dates
0  2018      8    3    11       0       0  3 2018-08-03 11:00:00
1  2018      8    3    12       0       0  5 2018-08-03 12:00:00
2  2018      8    3    12       0       0  4 2018-08-03 12:00:00
3  2018      8    3     9       0       0  1 2018-08-03 09:00:00
4  2018      8    3     7       0       0  8 2018-08-03 07:00:00
5  2018      8    3     2       0       0  2 2018-08-03 02:00:00