我遇到了一个问题,我的月数据框架的日期时间列包含多个格式,比如让我们说,例如:对于一个月'January'
,'13th March 2020'
的开始'2020-03-13'
的格式和一些行的日期时间格式为'12th March 2020'
的'2020-12-03
',类似于'1st December 2021'
,这是一个很大的错误,因为我将代表一个完整的月数据一年。
date S1counts S1SM ... S10Perm S10Temp S10Volt
0 2020-03-13 00:08:08 14055.0 5.61 ... 12.10 22.164 12.09
1 2020-03-13 00:18:08 14055.0 5.61 ... 12.10 22.133 12.11
2 2020-03-13 00:28:08 14057.0 5.61 ... 12.10 22.102 12.11
3 2020-03-13 00:38:08 14057.0 5.61 ... 12.09 22.063 12.11
4 2020-03-13 00:48:08 14060.0 5.60 ... 12.09 22.031 12.11
... ... ... ... ... ... ...
2170 2020-12-03 23:18:08 14051.0 5.62 ... 12.11 22.313 12.11
2171 2020-12-03 23:28:08 14056.0 5.61 ... 12.11 22.266 12.11
2172 2020-12-03 23:38:08 14056.0 5.61 ... 12.10 22.250 12.11
2173 2020-12-03 23:48:08 14051.0 5.62 ... 12.10 22.242 12.09
2174 2020-12-03 23:58:08 14055.0 5.61 ... 12.10 22.188 12.09
[2175 rows x 51 columns]
我已经尝试了pandas.to_datetime()
的格式,但格式没有改变,显示结果如上。
如何克服这个问题?
方法
- 尝试先转换成美国格式
- 如果使用国际格式填充
NaT
df = pd.read_csv(io.StringIO(""" date S1counts S1SM ... S10Perm S10Temp S10Volt
0 2020-03-13 00:08:08 14055.0 5.61 ... 12.10 22.164 12.09
1 2020-03-13 00:18:08 14055.0 5.61 ... 12.10 22.133 12.11
2 2020-03-13 00:28:08 14057.0 5.61 ... 12.10 22.102 12.11
3 2020-03-13 00:38:08 14057.0 5.61 ... 12.09 22.063 12.11
4 2020-03-13 00:48:08 14060.0 5.60 ... 12.09 22.031 12.11
2170 2020-12-03 23:18:08 14051.0 5.62 ... 12.11 22.313 12.11
2171 2020-12-03 23:28:08 14056.0 5.61 ... 12.11 22.266 12.11
2172 2020-12-03 23:38:08 14056.0 5.61 ... 12.10 22.250 12.11
2173 2020-12-03 23:48:08 14051.0 5.62 ... 12.10 22.242 12.09
2174 2020-12-03 23:58:08 14055.0 5.61 ... 12.10 22.188 12.09
"""), sep="ss+", engine="python")
df.date = pd.to_datetime(df.date, format="%Y-%d-%m %H:%M:%S", errors="coerce").fillna(pd.to_datetime(df.date))
S10Volt14055 5.61 "text-align:左;"…… 12.1 22.164 12.09 140555.61 "text-align:左;"…… 12.1 22.133 12.1114057 5.61 "text-align:左;"…… 12.1 22.102 12.1114057 5.61 "text-align:左;"…… 12.09 22.063 12.1114060 5.6 "text-align:左;"…… 12.09 22.031 12.1114051 5.62 "text-align:左;"…… 12.11 22.313 12.1114056 5.61 "text-align:左;"…… 12.11 22.266 12.1114056 5.61 "text-align:左;"…… 12.1 22.25 12.1114051 5.62 "text-align:左;"…… 12.1 22.242 12.092020-03-12 23:58:0812.1 22.188 12.09