TypeError:无法将值dtype(&#39; <m8 [ns]')转换为=“”a =“”tensorflow =“”dtype =“”

时间:2018-01-02 01:47:34

标签: pandas numpy tensorflow

=“”

不知道我为什么会收到此错误。我关注a Tensorflow tutorial,但更改了数据源。

只有两个真正的变化。一个是我导入两个CSV并.merge

df = df_a.merge(df_b, how='left', on='race_id', sort=True)

另一个是我必须按如下方式解析一列时间:

def parse_time(t):
    minutes, seconds, centiseconds = t.split('.')
    milliseconds = int(centiseconds) * 10 + int(seconds) * 1000 + int(minutes) * 60 * 1000
    return milliseconds

df_a['e'] = df_a['d'].map(parse_time).astype(np.int32)

现在df.dtypes显示:

a               object
b               float32
c               int32
d               object
e               int32
dtype: object

我小心翼翼地清理所有的NaN's。我不知道从哪里开始这个错误。任何建议都是最受欢迎的!

1 个答案:

答案 0 :(得分:3)

我有类似的问题。

在我的情况下数据框的索引被日期时间列取代。在我的情况下,我正在建立一个神经网络,然后这个索引不再导入,所以修复了只是重置索引。

所以,执行:

df = df.reset_index(drop=True)

删除列(如果你像我一样替换索引):

df = df.drop('foo_date',1)