我得到:
TypeError: Cannot compare type 'Timestamp' with type 'unicode'
当我尝试这样做时:
df = df[df['timestamp'] >= start]
df = df[df['timestamp'] < (end + timedelta(days=1))]
数据类型为:
type(df['timestamp'][0])
Out[134]: unicode
type(start)
Out[135]: pandas._libs.tslib.Timestamp
因此,我一直在尝试将列转换为熊猫的日期时间。我执行以下操作,但它仍然是unicode数据类型。
df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d %H:%m:%s', errors='coerce')
答案 0 :(得分:1)
错误提示:
TypeError: Cannot compare type 'Timestamp' with type 'unicode'
因此,这意味着您进行了比较,左侧为Timestamp
,右侧为unicode
(假设错误当然发生在比较级别)。
由于错误发生在:
df = df[df['timestamp'] >= start]
因此,这意味着start
是一个unicode
字符串,而不是时间戳。
因此,您首先需要转换start
,例如:
df = df[df['timestamp'] >= pd.to_datetime(start)]