我想从SPSS中将日期类型变量读入Python数据框,如果缺少日期,则会收到错误消息,并且不确定如何解决?就像一个缺失的数值如何被编码为NaN一样,对于缺失的日期变量,我也想要类似的东西。
# Read in SPSS Database
with sRW.SavReaderNp('C:/Users/Sam/Downloads/File.sav') as reader:
record = reader.all()
SPSS_df = pd.DataFrame(record)
错误:
回溯(最近通话最近):文件 “ C:/Users/Sam/Python/Program.py”,第17行 SPSS_df = pd.DataFrame(record)
文件 “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ frame.py”, 第436行,在 init 中 mgr = init_dict(数据,索引,列,dtype = dtype)
文件 “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”, init_dict中的第257行 返回arrays_to_mgr(数组,数据名称,索引,列,dtype = dtype)
文件 “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”, 第82行,在arrays_to_mgr中 数组= _homogenize(数组,索引,dtype)
文件 “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”, _homogenize中的第323行 val,index,dtype = dtype,copy = False,raise_cast_failure = False
文件 “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”, sanitize_array中的第664行 subarr = _try_cast(数据,dtype,副本,raise_cast_failure)
文件 “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”, _try_cast中的第784行 subarr = may_cast_to_datetime(arr,dtype)
文件 “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ dtypes \ cast.py”, 第1100行,时间可能在 值= tslibs.conversion.ensure_datetime64ns(值)
文件“ pandas_libs \ tslibs \ conversion.pyx”,第123行,在 pandas._libs.tslibs.conversion.ensure_datetime64ns
文件“ pandas_libs \ tslibs \ np_datetime.pyx”,第118行,在 pandas._libs.tslibs.np_datetime.check_dts_bounds pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime:越界 纳秒级时间戳:1-01-01 00:00:00
print(记录)显示以下内容,实际数据集较大,但实际上实际上是问题所在的最后一行。
(b'86600 ', '2019-08-05T00:00:00.000000')
(b'86600 ', '2019-08-05T00:00:00.000000')
(b'86600 ', '0001-01-01T00:00:00.000000')