Python 熊猫和斯塔塔13档案

Python 熊猫和斯塔塔13档案,python,pandas,stata,Python,Pandas,Stata,我安装了pandas 0.13.1,但是pandas.read_stata()无法读取.dta以stata 13格式创建的文件,出现错误 TypeError: cannot concatenate 'str' and 'NoneType' objects 以Stata 12格式保存的相同数据集完全没有问题 我认为pandas的最新版本(0.13.1)处理了stata13数据集文件。我做错了什么吗?我猜你没有做任何天生的错误,但是你的pandas版本无法处理Stata 13数据集文件。如中所述,

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

TypeError: cannot concatenate 'str' and 'NoneType' objects
以Stata 12格式保存的相同数据集完全没有问题


我认为pandas的最新版本(0.13.1)处理了stata13数据集文件。我做错了什么吗?

我猜你没有做任何天生的错误,但是你的pandas版本无法处理Stata 13数据集文件。如中所述,随着Stata 13的发布,Stata.dta数据集的格式发生了变化

解决方案1。

将您的熊猫更新至v0.14.0(2014年5月31日):

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

资料来源:

解决方案2。

如果您有权访问Stata,有几种方法可以恢复到早期/不同的格式,这些格式应适用于早期版本的pandas。看看这个答案:

编辑 解决方案3。


在对pandas与Stata之间的问题进行了一些讨论之后,13个数据集是字符串变量。因此,另一个解决方案可能是将字符串转换为数字类型。请参阅
帮助编码
,这将创建适当的值标签;或者,如果字符串恰好是字符串类型中的数字,则可能是
help real
help destring

我猜您并没有做任何固有的错误,但您的pandas版本无法处理Stata 13数据集文件。如中所述,随着Stata 13的发布,Stata.dta数据集的格式发生了变化

解决方案1。

将您的熊猫更新至v0.14.0(2014年5月31日):

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

资料来源:

解决方案2。

如果您有权访问Stata,有几种方法可以恢复到早期/不同的格式,这些格式应适用于早期版本的pandas。看看这个答案:

编辑 解决方案3。


在对pandas与Stata之间的问题进行了一些讨论之后,13个数据集是字符串变量。因此,另一个解决方案可能是将字符串转换为数字类型。请参阅
帮助编码
,这将创建适当的值标签;或者,如果字符串恰好是字符串类型中的数字,则可能是
help real
help destring

谢谢Roberto。解决方案1:Stata13文件恐怕仍然不能与pandas v0.14.0一起使用,至少在我的系统上是这样。解决方案2:是的,我就是这么做的;只需将数据集保存为Stata 12格式(Stata中的“saveold”)——熊猫就能正确读取这些数据集。我可以重现这个问题。我已经在这里报告了:。谢谢罗伯托。解决方案1:Stata13文件恐怕仍然不能与pandas v0.14.0一起使用,至少在我的系统上是这样。解决方案2:是的,我就是这么做的;只需将数据集保存为Stata 12格式(Stata中的“saveold”)——熊猫就能正确读取这些数据集。我可以重现这个问题。我已经在这里报告了:。