当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python 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 数据格式。

将 DataFrame 写入 Stata 数据集文件。 “dta” 文件包含一个 Stata 数据集。

参数

pathstr、路径对象或缓冲区

字符串、路径对象(实现 os.PathLike[str] )或 file-like 对象实现二进制 write() 函数。

以前这是“fname”

convert_datesdict

包含日期时间类型的字典映射列到写入日期时使用的 stata 内部格式。选项是‘tc’, ‘td’, ‘tm’, ‘tw’, ‘th’, ‘tq’, ‘ty’。列可以是整数或名称。未指定转换类型的日期时间列将转换为 ‘tc’。如果日期时间列具有时区信息,则引发 NotImplementedError。

write_indexbool

将索引写入 Stata 数据集。

byteorderstr

可以是“>”、“sys.byteorder 。

time_stampdatetime

用作文件创建日期的日期时间。默认为当前时间。

data_labelstr,可选

数据集的标签。不得超过 80 个字符。

variable_labelsdict

包含作为键的列和作为值的变量标签的字典。每个标签不得超过 80 个字符。

version{114, 117, 118, 119, 无},默认 114

在输出 dta 文件中使用的版本。设置为 None 让 pandas 根据帧中的列数决定 118 或 119 格式。 Stata 10 及更高版本可以读取版本 114。 Stata 13 或更高版本可以读取版本 117。 Stata 14 及更高版本支持版本 118。 Stata 15 及更高版本支持版本 119。版本 114 将字符串变量限制为 244 个字符或更少,而版本 117 及更高版本允许长度不超过 2,000,000 个字符的字符串。版本 118 和 119 支持 Unicode 字符,版本 119 支持超过 32,767 个变量。

版本 119 通常仅应在变量数量超过 dta 格式 118 的容量时使用。以 119 格式导出较小的数据集可能会产生意想不到的后果,并且截至 2020 年 11 月,Stata SE 无法读取版本 119 文件。

convert_strl列表,可选

要转换为 Stata StrL 格式的字符串列的列名列表。仅在版本为 117 时可用。如果字符串超过 8 个字符并且值重复,则以 StrL 格式存储字符串可以生成更小的 dta 文件。

compressionstr 或 dict,默认 ‘infer’

用于输出数据的即时压缩。如果 ‘infer’ and ‘path’ path-like,则从以下扩展名检测压缩:“.gz”、“.bz2”、“.zip”、“.xz”或“.zst”(否则不压缩)。设置为None 不压缩。也可以是键 'method' 设置为 { 'zip' , 'gzip' , 'bz2' , 'zstd' } 之一的字典,其他键值对分别转发到 zipfile.ZipFile , gzip.GzipFile , bz2.BZ2Filezstandard.ZstdDecompressor 。例如,可以传递以下内容以加快压缩速度并创建可重现的 gzip 存档:compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}

storage_options字典,可选

对特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对作为标头选项转发到 urllib。对于其他 URL(例如以 “s3://” 和 “gcs://” 开头),键值对被转发到 fsspec 。有关详细信息,请参阅fsspecurllib

value_labels字典的字典

包含作为键的列和作为值的列值的字典的字典。单个变量的标签不得超过 32,000 个字符。

抛出

未实现错误
  • 如果日期时间包含时区信息

  • 列 dtype 在 Stata 中不可表示

ValueError
  • convert_dates 中列出的列既不是 datetime64[ns] 也不是 datetime.datetime

  • convert_dates 中列出的列不在 DataFrame 中

  • 分类标签包含超过 32,000 个字符

例子

>>> df = pd.DataFrame({'animal': ['falcon', 'parrot', 'falcon',
...                               'parrot'],
...                    'speed': [350, 18, 361, 15]})
>>> df.to_stata('animals.dta')

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.to_stata。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。