代码之家  ›  专栏  ›  技术社区  ›  kittygirl

`NameError:未定义名称“NaT”和“NameError:未定义名称“Timestamp”`

  •  0
  • kittygirl  · 技术社区  · 5 年前

    基于 this post

    import pandas as pd
    inp = [{'c1':10,'cols':{'c2':20,'c3':'str1'}, 'c4':'41'}, {'c1':11,'cols':{'c2':20,'c3':'str2'},'c4':'42'}, {'c1':12,'cols':{'c2':20,'c3':'str3'},'c4':'43'}]
    df = pd.DataFrame(inp)
    pd.io.json.json_normalize(df.to_dict('records'))
    

    上面的脚本效果很好。

    对…稍作改变 inp

    inp=[{'c1':10,'cols':{'c2':5,'c3':NaT}, 'c4':'41'}, {'c1':11,'cols':{'c2':Timestamp('2014-06-03 21:19:26'),'c3':'str2'},'c4':'42'}, {'c1':12,'cols':{'c2':20,'c3':'str3'},'c4':'43'}]
    df = pd.DataFrame(inp)
    pd.io.json.json_normalize(df.to_dict('records'))
    

    我只是换衣服 str1 NaT 20 Timestamp('2014-06-03 21:19:26') ,脚本运行不正常,错误如下:

    NameError: name 'NaT' is not defined
    NameError: name 'Timestamp' is not defined
    

    作为 纳特 在实际数据中很常见,什么问题导致错误?

    1 回复  |  直到 5 年前
        1
  •  3
  •   cullzie    5 年前

    你应该指的是警局NaT和 pd.Timestamp

    inp=[{'c1':10,'cols':{'c2':5,'c3':pd.NaT}, 'c4':'41'}, {'c1':11,'cols':{'c2':pd.Timestamp('2014-06-03 21:19:26'),'c3':'str2'},'c4':'42'}, {'c1':12,'cols':{'c2':20,'c3':'str3'},'c4':'43'}]