Python 熊猫和斯塔塔13档案
我安装了pandas 0.13.1,但是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.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”)——熊猫就能正确读取这些数据集。我可以重现这个问题。我已经在这里报告了:。