我有两个日期时间数据帧,如下所示:df1:
0 2020-03-16 14:00:00
1 2020-03-16 17:00:00
2 2020-03-16 20:00:00
3 2020-03-16 20:00:00
4 2020-03-16 19:00:00
5 2020-03-16 12:00:00
6 2020-03-16 18:00:00
df2:
0 2020-03-16 09:00:00
1 2020-03-16 09:00:00
2 2020-03-16 09:00:00
3 2020-03-16 08:30:00
4 2020-03-16 08:30:00
5 2020-03-16 08:30:00
6 2020-03-16 09:00:00
我想从df1中删除df2并将结果转换为分钟。为此,我使用以下代码将每个数据帧转换为datetime.strptime:
datetime.strptime(df1.to_string(),'%Y-%m-%d %H:%M:%S')
但是,当我在上面的代码上运行时,它抛出错误消息Value,并且说value与格式''%Y-%m-%d%H:%M:%S'`不匹配。谁能指出我在哪里犯错了?
问题来源:stackoverflow
这对我有用:
pd.to_datetime(df1.date, format='%Y-%m-%d %H:%M:%S') # I named my column 'date'
它不起作用的原因是,当您使用to_string()
时,它会给出如下信息:
Out[78]: '0 2020-03-15 09:00:00\n1 2020-03-15 09:00:00\n2 2020-03-15 08:30:00\n3
这是复制示例dataframe
之后的完整代码:
import pandas as pd
df1 = pd.read_clipboard(index_col=0, header=None)
df1['date'] = df1.iloc[:, 0] + ' ' + df1.iloc[:, 1]
pd.to_datetime(df1.date, format='%Y-%m-%d %H:%M:%S')
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。