Python pandas.DataFrame.to_stata函数方法的使用

Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.to_stata方法的使用。

DataFrame.to_stata(**kwargs)      [source]

将DataFrame对象导出为Stata dta格式。

将数据格式写入Stata数据集文件。“dta”文件包含Stata数据集。

参数:

path :str, buffer 或 path object

字符串,路径对象(pathlib.Path

py._path.local.LocalPath

或实现二进制write()函数的对象。

如果使用缓冲区,

则在写入文件数据后缓冲区不会自动关闭。

在1.0.0版中更改。

以前这是“fname”

convert_dates :dict

包含日期时间类型的字典,

映射列到写入日期时要使用的stata内部格式。

选项为 

‘tc’, ‘td’, ‘tm’, ‘tw’, ‘th’, ‘tq’, ‘ty’

列可以是整数或名称。

未指定转换类型的日期时间列将转换为“tc”

如果datetime列包含时区信息,

则引发NotImplementedError

write_index :bool

将索引写入Stata数据集。

byteorder :str

可以是“>”, “<”, “little”, or “big”

默认值为sys.byteorder

time_stampdatetime 

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

data_label :str, 可选 

数据集的标签。必须为80个字符或更小。

variable_labels :dict

将列作为键、变量标签作为值的字典。

每个标签必须是80个字符或更小。

version{114, 117, 118, 119, None}

默认为 114

在输出dta文件中使用的版本。

设置为None,

可以让熊猫根据框架中的列数在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个变量。

0.23.0版中的新功能。

在1.0.0版中进行了更改:

添加了对格式118和119的支持。

convert_strl list,可选

要转换为Stata StrL格式的字符串列的列名称列表。

仅当版本为117时可用。

如果字符串的字符数超过8个且重复值,

则以StrL格式存储字符串会生成较小的dta文件。

0.23.0版中的新功能。

compression :strdict, 默认为‘infer’

用于动态压缩输出dta。

如果为字符串,

则指定压缩模式。

如果是dict,则‘method’ 键上的值指定压缩模式。

压缩模式必须为

{'infer','gzip','bz2','zip','xz',None}中的一种。

如果压缩模式为‘infer’ 且 fname与路径类似,

则从以下扩展名检测压缩:

 ‘.gz’, ‘.bz2’, ‘.zip’, 或 ‘.xz’(否则不进行压缩)。

如果dict and compression

模式为{'zip','gzip','bz2'}之一,

或推断为上述之一,则其他条目作为附加压缩选项传递。

1.1.0版中的新功能。

Raises:

NotImplementedError

1) 如果日期时间包含时区信息

2) 列dtype在Stata中是不可表示的

ValueError

1) convert_date中列出的列既不是datetime64[ns]

也不是datetime.datetime

2) 在convert_date中列出的列不在DataFrame

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

例如,

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

文档pandas.DataFrame.to_stata.html

推荐阅读
cjavapy编程之路首页