pandas.DataFrame.to_stata#
- DataFrame.to_stata(path, convert_dates=None, write_index=True, byteorder=None, time_stamp=None, data_label=None, variable_labels=None, version=114, convert_strl=None, compression='infer', storage_options=None, *, value_labels=None)[源代码]#
将DataFrame对象导出为Stata DTA格式。
将DataFrame写入Stata数据集文件。“DTA”文件包含STATA数据集。
- 参数
- path字符串、路径对象或缓冲区
字符串、路径对象(实现
os.PathLike[str]
)或实现二进制文件的类似文件的对象write()
功能。在 1.0.0 版更改.
以前这是“fname”
- convert_datesDICT
字典将包含DateTime类型的列映射到写入日期时使用的Stata内部格式。选项有‘tc’、‘td’、‘tm’、‘tw’、‘th’、‘tq’、‘ty’。列可以是整数,也可以是名称。未指定转换类型的DateTime列将转换为‘TC’。如果DateTime列具有时区信息,则引发NotImplementedError。
- write_index布尔尔
将索引写入Stata数据集。
- byteorder应力
可以是“>”、“<”、“小”或“大”。缺省值为 sys.byteorder 。
- time_stamp日期时间
用作文件创建日期的日期时间。默认为当前时间。
- data_label字符串,可选
数据集的标签。必须为80个字符或更少。
- variable_labelsDICT
包含列作为键、变量标签作为值的字典。每个标签必须包含80个或更少的字符。
- version{114,117,118,119,无},默认114
要在输出DTA文件中使用的版本。设置为无可让Pandas根据框架中的列数在118或119格式之间进行选择。版本114可由Stata 10及更高版本读取。版本117可以由Stata 13或更高版本读取。版本118在Stata 14和更高版本中受支持。Stata 15及更高版本支持版本119。版本114将字符串变量限制在244个字符或更少,而版本117和更高版本允许字符串的长度不超过2,000,000个字符。版本118和119支持Unicode字符,版本119支持超过32,767个变量。
版本119通常应仅在变量数量超过DTA格式118的容量时使用。以119格式导出较小的数据集可能会产生意想不到的后果,而且从2020年11月起,Stata SE不能读取版本119的文件。
在 1.0.0 版更改: 添加了对格式118和119的支持。
- convert_strl列表,可选
要转换为STATA StrL格式的字符串列的列名列表。仅当版本为117时才可用。如果字符串超过8个字符并且值重复,则以StrL格式存储字符串可能会生成较小的DTA文件。
- compression字符串或词典,默认为‘INFER’
For on-the-fly compression of the output data. If 'infer' and 'path' path-like, then detect compression from the following extensions: '.gz', '.bz2', '.zip', '.xz', or '.zst' (otherwise no compression). Set to
None
for no compression. Can also be a dict with key'method'
set to one of {'zip'
,'gzip'
,'bz2'
,'zstd'
} and other key-value pairs are forwarded tozipfile.ZipFile
,gzip.GzipFile
,bz2.BZ2File
, orzstandard.ZstdDecompressor
, respectively. As an example, the following could be passed for faster compression and to create a reproducible gzip archive:compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}
.1.1.0 新版功能.
在 1.4.0 版更改: Z标准支持。
- storage_optionsDICT,可选
对特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。对于HTTP(S)URL,键-值对被转发到
urllib.request.Request
作为标题选项。对于其他URL(例如,以“s3://”和“gcs://”开头),键-值对被转发到fsspec.open
。请看fsspec
和urllib
有关更多详细信息和有关存储选项的更多示例,请参阅 here 。1.2.0 新版功能.
- value_labels词典中的词典
包含作为键的列和将列值转换为标签的字典的字典。单个变量的标签必须小于或等于32,000个字符。
1.4.0 新版功能.
- 加薪
- NotImplementedError
如果日期时间包含时区信息
列数据类型在Stata中不可表示
- ValueError
CONVERT_DATES中列出的列既不是DateTime64 [ns] 或DateTime。DateTime
Convert_Dates中列出的列不在DataFrame中
分类标签包含超过32,000个字符
参见
read_stata
导入Stata数据文件。
io.stata.StataWriter
Stata数据文件的低级编写器。
io.stata.StataWriter117
版本117文件的低级编写器。
示例
>>> df = pd.DataFrame({'animal': ['falcon', 'parrot', 'falcon', ... 'parrot'], ... 'speed': [350, 18, 361, 15]}) >>> df.to_stata('animals.dta')