熊猫和Stata 13文件
问题内容:
我安装了熊猫0.13.1,但pandas.read_stata()
无法读取以Stata 13格式创建的 .dta 文件,出现错误
TypeError: cannot concatenate 'str' and 'NoneType' objects
以Stata 12格式保存的同一数据集完全没有问题。
我认为最新版本的熊猫(0.13.1)处理了Stata 13数据集文件。难道我做错了什么?
问题答案:
我的猜测是您没有做任何天生的错误,但是您的熊猫版本无法处理Stata
13数据集文件。如help dta中所述,Stata
.dta数据集的格式随Stata 13的发布而改变。
解决方案1。
将您的熊猫更新到v0.14.0(2014年5月31日):
read_stata现在接受Stata 13格式(GH4291)
资料来源:http :
//pandas.pydata.org/pandas-
docs/stable/whatsnew.html
解决方案2。
如果您可以使用Stata,则有多种方法可以还原到较早版本的熊猫所能使用的较早/不同格式。看到这个答案:
编辑
解决方案3。
在GitHub上进行一些讨论之后,Stata
13数据集的大熊猫似乎是 字符串 变量。因此,另一种解决方案是将字符串转换为数字类型。请参阅help encode
,它将创建适当的值标签;或,help real
或者help destring
,如果字符串恰好是字符串类型中的数字。