熊猫和Stata 13档案

时间:2014-06-05 07:00:42

标签: python pandas stata

我安装了pandas 0.13.1,但pandas.read_stata()无法读取以Stata 13格式创建的 .dta 文件,错误

TypeError: cannot concatenate 'str' and 'NoneType' objects

使用Stata 12格式保存的相同数据集完全没问题。

我认为最新发布的pandas(0.13.1)处理了Stata 13数据集文件。我做错了吗?

1 个答案:

答案 0 :(得分:4)

我的猜测是你没有做任何本质上错误的事情,但是你的熊猫版本无法处理Stata 13数据集文件。正如help dta中所述,Stata .dta数据集的格式随着Stata 13的发布而改变。

解决方案1。

将您的pandas更新为v0.14.0(2014年5月31日):

  

read_stata现在接受Stata 13格式(GH4291)

来源:http://pandas.pydata.org/pandas-docs/stable/whatsnew.html

解决方案2。

如果您有权访问Stata,可以通过多种方式恢复早期/不同的格式,这些格式应与您早期版本的pandas一起使用。看到这个答案:

Read Stata 13 file in R

修改

解决方案3。

GitHub中进行一些讨论之后,问题熊猫似乎与Stata 13数据集有 string 变量。所以另一个解决方案可能是将字符串转换为数字类型。请参阅help encode,这将创建适当的价值标签;或者可能是help realhelp destring,如果字符串碰巧只是字符串类型中的数字。