【发布时间】:2020-02-14 16:00:35
【问题描述】:
我想在t_list 指定的时间段内每 10 分钟创建一个散点图。我在df_t = df[(df['datetime']>=t & df['datetime']<t_end)] 行中收到错误TypeError: cannot compare a dtyped [datetime64[ns]] array with a scalar of type [bool],但t 和t_end 的类型都是datetime。非变量类型为bool。
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime, timedelta
df_data = pd.read_csv('C:\SCADA.csv')#import data
#format Timestamp as datetime
df_data['datetime'] = pd.to_datetime(df_data['TimeStamp'] )
#create df of time period
df = df_data[(df_data['datetime']>= datetime(2017, 12, 23, 06,00, 00)) &
(df_data['datetime']< datetime(2017, 12, 23, 07, 00, 00))]
#time period I want to create 10 min plots for
t_list = [datetime(2017, 12, 23, 06, 00, 00), datetime(2017, 12, 23, 07, 00, 00)]
for t in t_list:
t_end = t + timedelta(minutes = 10)
#breaks here with
TypeError: cannot compare a dtyped [datetime64[ns]] array with a
scalar of type [bool]
df_t = df[(df['datetime']>=t & df['datetime']<t_end)]
#code continues with plotting scatter plots within the loop
【问题讨论】:
-
能否请您发布
type(df['datetime'].iloc[0])、type(t)和type(t_end)的输出? -
pandas.tslib.Timestamp、datetime.datetime和datetime.datetime分别
标签: python python-2.7 datetime for-loop typeerror