我有两个日期时间数据帧,如下所示: 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'
不匹配。谁能指出我在哪里犯错了?
答案 0 :(得分:3)
这对我有用:
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')