【python】DataFrame数据保存为.dta数据

1. 模块介绍

将pandas库中常用的DataFrame数据保存为Stata软件常用的.dta数据,可对DataFrame变量使用.to_stata模块。

官方文档对于.to_stata的介绍如下:

完整语法:

to_stata(path: 'FilePath | WriteBuffer[bytes]',
         convert_dates: 'dict[Hashable, str] | None' = None,
         write_index: 'bool' = True, 
         byteorder: 'str | None' = None, 
         time_stamp: 'datetime.datetime | None' = None, 
         data_label: 'str | None' = None, 
         variable_labels: 'dict[Hashable, str] | None' = None, 
         version: 'int | None' = 114, 
         convert_strl: 'Sequence[Hashable] | None' = None, 
         compression: 'CompressionOptions' = 'infer', 
         storage_options: 'StorageOptions' = None, 
         value_labels: 'dict[Hashable, dict[float, str]] | None' = None)

 其中,比较常用的包括:

  • path: 保存的路径地址。
  • write_index: 是否把DataFrame的index写入dta文件,默认为True,即写入。通常我们将其设置为False,即无需写入。
  • version: 保存为dta数据的版本。默认为114版本,即该dta文件可以被Stata 10及之后的版本读取。除了114之外,version可选版本包括:117,118和119,它们分别对应Stata 13, Stata 14和Stata 15及之后的版本。其中,118和119版本支持Unicode字符(即中文变量和观测值),而199版本最多可支持32,767个变量。通常来说,我们将版本设定为118,便足以满足大部分需求了。当变量数超过了118版本的容量之后,我们再考虑使用119版本。

2. 代码实例

在官方说明文档中,给出了如下实例(可直接复制到python编译环境中运行):

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

注意:.to_stata模块只能在DataFrame变量后面使用。

笔者常用的代码如下(放心使用):

rawdata.to_stata(r"file\data.dta",
                 write_index=False,
                 version=118)

其中,rawdata是需要转换格式的DataFrame数据,write_index=False表示不写入DataFrame的index,version采用118格式(对应Stata 14版本及之后)。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值