我安装了 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 数据集文件。我做错了什么吗?
最佳答案
我的猜测是你没有做任何本质上错误的事情,但是你的 pandas 版本无法处理 Stata 13 数据集文件。如 help dta 中所述,随着 Stata 13 的发布,Stata .dta 数据集的格式发生了变化。
解决方案 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。请参阅这个答案:
编辑
解决方案 3。
经过GitHub中的一些讨论pandas 在 Stata 13 数据集上遇到的问题似乎是字符串变量。因此,另一种解决方案是将字符串转换为数字类型。请参阅帮助编码
,它将创建适当的值标签;或者help real
或help destring
,如果字符串恰好只是字符串类型的数字。
关于python - pandas 和 Stata 13 个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24053652/