将pandas unicode列转换为timestamp python

时间:2018-10-06 17:10:39

标签: python pandas datetime unicode

我得到:

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')

1 个答案:

答案 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)]