我安装了 pandas 0.13.1 但是pandas.read_stata()
无法阅读.dta以 Stata 13 格式创建的文件,出现错误
TypeError: cannot concatenate 'str' and 'NoneType' objects
以 Stata 12 格式保存相同的数据集完全没有问题。
我认为最新版本的 pandas (0.13.1) 处理 Stata 13 数据集文件。难道我做错了什么?
我的猜测是你没有做任何本质上错误的事情,但是你的 pandas 版本无法处理 Stata 13 数据集文件。如记录在help dta,随着 Stata 13 的发布,Stata .dta 数据集的格式发生了变化。
解决方案1。
将 pandas 更新到 v0.14.0(2014 年 5 月 31 日):
read_stata 现在接受 Stata 13 格式 (GH4291)
Source: http://pandas.pydata.org/pandas-docs/stable/whatsnew.html
解决方案2。
如果您可以访问 Stata,则有多种方法可以恢复到适用于您早期版本的 pandas 的早期/不同格式。看这个答案:
在 R 中读取 Stata 13 文件
Edit
解决方案3。
经过一番讨论后GitHubpandas 似乎在 Stata 13 数据集上遇到的问题是string变量。因此,另一种解决方案是将字符串转换为数字类型。看help encode
,这将创建适当的值标签;或者可能help real
or help destring
,如果字符串恰好只是字符串类型的数字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)