用法:
pandas.read_stata(filepath_or_buffer, convert_dates=True, convert_categoricals=True, index_col=None, convert_missing=False, preserve_dtypes=True, columns=None, order_categoricals=True, chunksize=None, iterator=False, compression='infer', storage_options=None)
將 Stata 文件讀入 DataFrame。
- filepath_or_buffer:str,路徑對象或file-like對象
任何有效的字符串路徑都是可接受的。該字符串可以是一個 URL。有效的 URL 方案包括 http、ftp、s3 和文件。對於文件 URL,需要一個主機。本地文件可以是:
file://localhost/path/to/table.dta
。如果你想傳入一個路徑對象,pandas 接受任何
os.PathLike
。通過file-like 對象,我們指的是具有
read()
方法的對象,例如文件句柄(例如通過內置open
函數)或StringIO
。- convert_dates:布爾值,默認為真
將日期變量轉換為 DataFrame 時間值。
- convert_categoricals:布爾值,默認為真
讀取值標簽並將列轉換為分類/因子變量。
- index_col:str,可選
要設置為索引的列。
- convert_missing:布爾值,默認為 False
指示是否將缺失值轉換為其 Stata 表示的標誌。如果為 False,則將缺失值替換為 nan。如果為 True,則使用對象數據類型返回包含缺失值的列,並且缺失值由 StataMissingValue 對象表示。
- preserve_dtypes:布爾值,默認為真
保留 Stata 數據類型。如果為 False,數字數據將向上轉換為 Pandas 外部數據的默認類型(float64 或 int64)。
- columns:列表或無
要保留的列。列將按給定順序返回。無返回所有列。
- order_categoricals:布爾值,默認為真
指示轉換後的分類數據是否有序的標誌。
- chunksize:整數,默認無
返回 StataReader 對象進行迭代,返回給定行數的塊。
- iterator:布爾值,默認為 False
返回 StaReader 對象。
- compression:str 或 dict,默認 ‘infer’
用於on-disk 數據的即時解壓縮。如果 ‘infer’ 和 '%s' 是 path-like,則從以下擴展名中檢測壓縮:'.gz'、'.bz2'、'.zip'、'.xz' 或 '.zst'(否則沒有壓縮)。如果使用‘zip’,ZIP 文件必須隻包含一個要讀入的數據文件。設置為
None
無需減壓。也可以是帶鍵的字典'method'
設置為 { 之一'zip'
,'gzip'
,'bz2'
,'zstd'
} 和其他鍵值對被轉發到zipfile.ZipFile
,gzip.GzipFile
,bz2.BZ2File
, 或者zstandard.ZstdDecompressor
, 分別。例如,可以使用自定義壓縮字典為 Zstandard 解壓縮傳遞以下內容:compression={'method':'zstd', 'dict_data':my_compression_dict}
.- storage_options:字典,可選
對特定存儲連接有意義的額外選項,例如主機、端口、用戶名、密碼等。對於 HTTP(S) URL,鍵值對作為標頭選項轉發到
urllib
。對於其他 URL(例如以 “s3://” 和 “gcs://” 開頭),鍵值對被轉發到fsspec
。有關詳細信息,請參閱fsspec
和urllib
。
- DataFrame 或 StaReader
參數:
返回:
注意:
通過迭代器讀取的分類變量可能具有不同的類別和 dtype。當存儲在 DTA 文件中的變量與一組不完整的值標簽相關聯時,會發生這種情況,而這些值標簽僅標記值的嚴格子集。
例子:
為此示例創建一個虛擬狀態 >>> df = pd.DataFrame({‘animal’:[‘falcon’, ‘parrot’, ‘falcon’, ... ‘parrot’], ... ‘speed’:[350, 18, 361, 15]}) # doctest :+SKIP >>> df.to_stata('animals.dta') # doctest:+SKIP
讀取 Stata 數據文件:
>>> df = pd.read_stata('animals.dta')
以 10,000 行塊讀取 Stata dta 文件: >>> values = np.random.randint(0, 10, size=(20_000, 1), dtype=”uint8”) # doctest:+SKIP >>> df = pd .DataFrame(values, columns=[“i”]) # doctest:+SKIP >>> df.to_stata('filename.dta') # doctest:+SKIP
>>> itr = pd.read_stata('filename.dta', chunksize=10000) >>> for chunk in itr: ... # Operate on a single chunk, e.g., chunk.mean() ... pass
相關用法
- Python pandas.read_sql_table用法及代碼示例
- Python pandas.read_sql用法及代碼示例
- Python pandas.read_pickle用法及代碼示例
- Python pandas.read_hdf用法及代碼示例
- Python pandas.read_xml用法及代碼示例
- Python pandas.read_table用法及代碼示例
- Python pandas.read_excel用法及代碼示例
- Python pandas.read_fwf用法及代碼示例
- Python pandas.read_csv用法及代碼示例
- Python pandas.read_html用法及代碼示例
- Python pandas.read_json用法及代碼示例
- Python pandas.arrays.IntervalArray.is_empty用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.combine_first用法及代碼示例
- Python pandas.Index.value_counts用法及代碼示例
- Python pandas.DatetimeTZDtype用法及代碼示例
- Python pandas.DataFrame.cumsum用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.read_stata。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。