问题:
我有一些原始数据,其中包含与日期和时间信息相关的问题 - 例如没有冒号将小时与分钟分开,以及包含2400
。我将各列转换为字符串并根据需要进行修改,目的是创建可以解析的单个字符串列。我有大约20个数据集,每个数据集大约35,000行。
样本数据:
a = ["2000"] * 100000
b = ["176"] * 100000
c = ["00:15","00:30","00:45","01:00"] * 25000
d = {"year":a,"DOY":b,"time":c}
df = pd.DataFrame(d)
df.head()
DOY time year
0 176 00:15 2000
1 176 00:30 2000
2 176 00:45 2000
3 176 01:00 2000
4 176 00:15 2000
我的缓慢解决方案:
我创建了以下行来完成任务,但它非常慢:
df["date"] = [df["year"][i]+"-"+df["DOY"][i]+" "+df["time"][i] for i in range(0,len(df),1)]
df.head()
DOY time year date
0 176 00:15 2000 2000-176 00:15
1 176 00:30 2000 2000-176 00:30
2 176 00:45 2000 2000-176 00:45
3 176 01:00 2000 2000-176 01:00
4 176 00:15 2000 2000-176 00:15
问题:
在插入适当的连字符和空格时连接year
,DOY
和time
列的最快方法是什么为了解析为datetime格式?或者这完全是错误的做法?
一如既往,感谢您的建议。