如何将不同列中的年,月,日,时组合为yyyy:mm:dd HH:MM:SS格式

时间:2019-01-11 10:40:10

标签: python-3.x

年月日小时总消费 数据以上述格式在csv中给出,我需要将其转换为YY / MM / D格式并提取特定的月份数据。我尝试做大熊猫的datetime方法,解析时出现错误。我是python的新手,对于上述问题的任何解决方案将不胜感激。谢谢。

df = pd.read_csv('./ data2018 / energy_clean.csv') df ['year'month''day''hour''] = pd.to_datetime(df ['year''month''day''hour'],格式='%y /%m /%d%H ')

1 个答案:

答案 0 :(得分:0)

不幸的是,有许多开放的bugs带有Pandas的to_datetime API。它适用于原始数据,并转换为指定的时间格式,而不转换为dataFrame输入。请在下面查看我的示例以获取原始数据

pd.to_datetime(logs[0]['datetimestamp'], format='%Y%m%d', errors='ignore')
Output:
datetime.datetime(2015, 9, 1, 0, 19, 40, 200000)

logs是我已传递给datetime函数的字典。

作为解决方法,您可以在从csv文件本身读取数据时指定日期格式。在您的代码中使用以下行,让我知道这是否有效

 df = pd.read_csv(data, parse_dates=["year''month''day''hour"],date_parser=lambda x: pd.datetime.strptime(x, "%y/%m/%d%H"));