为什么我不能读入缺失的datetime值?

2024-04-26 02:18:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把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)

错误:

Traceback (most recent call last): File "C:/Users/Sam/Python/Program.py", line 17, in SPSS_df = pd.DataFrame(record)

File "C:\Users\Sam\Python\venv\lib\site-packages\pandas\core\frame.py", line 436, in init mgr = init_dict(data, index, columns, dtype=dtype)

File "C:\Users\Sam\Python\venv\lib\site-packages\pandas\core\internals\construction.py", line 257, in init_dict return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)

File "C:\Users\Sam\Python\venv\lib\site-packages\pandas\core\internals\construction.py", line 82, in arrays_to_mgr arrays = _homogenize(arrays, index, dtype)

File "C:\Users\Sam\Python\venv\lib\site-packages\pandas\core\internals\construction.py", line 323, in _homogenize val, index, dtype=dtype, copy=False, raise_cast_failure=False

File "C:\Users\Sam\Python\venv\lib\site-packages\pandas\core\internals\construction.py", line 664, in sanitize_array subarr = _try_cast(data, dtype, copy, raise_cast_failure)

File "C:\Users\Sam\Python\venv\lib\site-packages\pandas\core\internals\construction.py", line 784, in _try_cast subarr = maybe_cast_to_datetime(arr, dtype)

File "C:\Users\Sam\Python\venv\lib\site-packages\pandas\core\dtypes\cast.py", line 1100, in maybe_cast_to_datetime value = tslibs.conversion.ensure_datetime64ns(value)

File "pandas_libs\tslibs\conversion.pyx", line 123, in pandas._libs.tslibs.conversion.ensure_datetime64ns

File "pandas_libs\tslibs\np_datetime.pyx", line 118, in pandas._libs.tslibs.np_datetime.check_dts_bounds pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-01 00:00:00

print(Record)显示以下内容,实际数据集较大,但最后一行实际上是问题发生的地方。你知道吗

(b'86600   ', '2019-08-05T00:00:00.000000')
(b'86600   ', '2019-08-05T00:00:00.000000')
(b'86600   ', '0001-01-01T00:00:00.000000')

Tags: inpycorepandasvenvlibpackagessam