python - pandas 和 Stata 13 个文件

标签 python pandas stata

我安装了 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。请参阅这个答案:

Read Stata 13 file in R

编辑

解决方案 3。

经过GitHub中的一些讨论pandas 在 Stata 13 数据集上遇到的问题似乎是字符串变量。因此,另一种解决方案是将字符串转换为数字类型。请参阅帮助编码,它将创建适当的值标签;或者help realhelp destring,如果字符串恰好只是字符串类型的数字。

关于python - pandas 和 Stata 13 个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24053652/

相关文章:

python - 检索与 pandas 中另一列中元素第一次出现相对应的列中的值 - python

Python PuLP "if"仅符合第一个条件。

python - 如何使用 groupby 在 python pandas 中连接字符串?

Pandas : 'pad' 与 'ffill' 相同吗?

r - 在双边案例交叉设计中创建控制日期

python - bytearray 不是 JSON 可序列化的

python - 使用多个 Python 版本构建 Boost

python - 在 Pandas 中计算每月的最后一个星期五

regression - 如何获得p值的更多数字?

上一年的 Stata 交互变量