python – pandas和Stata 13个文件

我安装了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数据集文件.难道我做错了什么?

解决方法:

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

解决方案1.

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

read_stata now accepts Stata 13 format (GH4291)

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

解决方案2.

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

Read Stata 13 file in R

编辑

解决方案3.

经过GitHub的一些讨论,问题熊猫似乎与Stata 13数据集是字符串变量.所以另一个解决方案可能是将字符串转换为数字类型.请参阅help encode,它将创建适当的值标签;如果字符串碰巧只是字符串类型中的数字,那么也许可以帮助实现或帮助解串.

上一篇:python – 将数组或DataFrame与其他信息一起保存在文件中


下一篇:Stata是否有类似于Java的“try and catch”机制?