正如我们所看到的,前两行的日期格式不同。因此,我们首先使用
我有一个名为Date的列,它属于对象类型,具有日期和时间,格式为"2019/10/07,12:44:58"。我试着从这个日期列中剪切出日期部分,然后将其转换为正确的日期格式。我想在不使用for循环的情况下,将此函数应用于日期列,以创建一个名为date1的新列。
errors='coerce'
将其余部分转换为datetime。然后,我们转换前两行并使用fillna
,将两个日期放在一起:
date1 = pd.to_datetime(data['Date'], format='%Y/%m/%d,%H:%M:%S', errors='coerce')
date2 = pd.to_datetime(data.loc[date1.isna(), 'Date'], format='%d-%m-%Y,%H:%M:%S')
data['Date'] = date1.fillna(date2)
Date Open High Low Close Qty Value(Lk)
0 2019-10-07 12:45:17 1208.65 1208.85 1208.40 1208.85 1125 13.60
1 2019-10-07 12:45:00 1208.70 1209.10 1208.40 1209.10 9344 112.95
2 2019-10-07 12:43:58 1208.80 1209.40 1208.35 1208.65 7342 88.75
3 2019-10-07 12:42:58 1208.70 1209.20 1208.40 1209.00 9355 113.08
4 2019-10-07 12:41:57 1208.75 1209.00 1207.80 1208.35 5890 71.17
Trades BS
0 4
1 15
2 13
3 15
4 13
原始数据:
Date Open High Low Close Qty Value(Lk)
0 07-10-2019,12:45:17 1208.65 1208.85 1208.40 1208.85 1125 13.60
1 07-10-2019,12:45:00 1208.70 1209.10 1208.40 1209.10 9344 112.95
2 2019/10/07,12:43:58 1208.80 1209.40 1208.35 1208.65 7342 88.75
3 2019/10/07,12:42:58 1208.70 1209.20 1208.40 1209.00 9355 113.08
4 2019/10/07,12:41:57 1208.75 1209.00 1207.80 1208.35 5890 71.17
Trades BS
0 4
1 15
2 13
3 15
4 13