[英]Reading sas7bdat large file using modin panda: FactoryDispatcher.read_sas() takes 1 positional argument but 2 were given
我想在 jupyter notebook 中讀取一個大文件。 (由於 memory 的限制,無法使用 pandas 讀取)。 數據文件需要超過 35 GB memory 但我的空間只有 20 GB。 因此,我嘗試改用 modin panda 但出現錯誤。
FactoryDispatcher.read_sas() 采用 1 個位置參數,但給出了 2 個
## Reading sas7bdat
import modin.pandas as pd
import numpy as np
cabd_2021 = pd.read_sas(
'/xxx/xxx/xxx/xxxx/xxx/xxxx_010121.sas7bdat',
format = "sas7bdat",
encoding="latin-1"
)
cabd
Returns ERROR
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[9], line 3
1 ## Les datafil fra SAS
----> 3 cabd= pd.read_sas()
File ~/jxxxxxxxxxxxxxxxxxxxxx/.venv/lib/python3.10/site-packages/modin/logging/logger_decorator.py:128, in enable_logging.<locals>.decorator.<locals>.run_and_log(*args, **kwargs)
113 """
114 Compute function with logging if Modin logging is enabled.
115
(...)
125 Any
126 """
127 if LogMode.get() == "disable":
--> 128 return obj(*args, **kwargs)
130 logger = get_logger()
131 logger_level = getattr(logger, log_level)
File ~/xxxxxxxxxxxxxxxxxxxxxxxxx/.venv/lib/python3.10/site-packages/modin/pandas/io.py:581, in read_sas(filepath_or_buffer, format, index, encoding, chunksize, iterator, compression)
577 Engine.subscribe(_update_engine)
578 from modin.core.execution.dispatching.factories.dispatcher import FactoryDispatcher
580 return DataFrame(
--> 581 query_compiler=FactoryDispatcher.read_sas(
582 filepath_or_buffer,
583 format=format,
584 index=index,
585 encoding=encoding,
586 chunksize=chunksize,
587 iterator=iterator,
588 compression=compression,
589 )
590 )
TypeError: FactoryDispatcher.read_sas() takes 1 positional argument but 2 were given
這是一個Modin 錯誤,已在尚未發布的拉取請求中修復。 您可以安裝最新版本的 Modin以獲得修復,也可以等待 Modin 的下一個補丁版本。 如果您無法更改您的 Modin 版本,您可以使用 pandas.read_sas 將 dataframe 讀入pandas.read_sas
,然后從生成的 pandas dataframe 構造一個 Modin dataframe。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.