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 to zipfile.ZipFile, gzip.GzipFile, bz2.BZ2File, or zstandard.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 。请看 fsspecurllib 有关更多详细信息和有关存储选项的更多示例,请参阅 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')