gpt4 book ai didi

python - Pandas 0.14.1 StataReader - 阅读 .dta 文件

转载 作者:行者123 更新时间:2023-11-28 19:20:54 30 4
gpt4 key购买 nike

我正在尝试使用 StataReader 将大型数据集从 Stata 13 导入 pandas。这在 pandas 0.13.1 上运行良好,但在我升级到 0.14.1 后,读取 .dta 文件的能力似乎急剧恶化。有谁知道发生了什么(我在 pandas 网站的“新增功能”部分找不到对 StataReader 的任何更改)和/或如何解决这个问题?

重现我的问题的步骤:

  1. 在 Stata 13 中创建大型数据集:

    clear

    set obs 11500
    forvalues i = 1/8000{
    gen var`i' = 1
    }

    saveold bigdataset, replace
  2. 尝试使用 StataReader 将其读入 pandas:

    from pandas.io.stata import StataReader

    reader = StataReader('bigdataset.dta')
    data = reader.data()

使用 pandas 0.13.1,这需要大约 220 秒,这是可以接受的,但是使用 pandas 0.14.1,即使等待大约 20 分钟也没有任何反应。

当我用较小的数据集测试这个问题时:

  1. 在 Stata 13 中创建一个较小的数据集:

    clear

    set obs 11500
    forvalues i = 1/1000{
    gen var`i' = 1
    }

    saveold smalldataset, replace
  2. 尝试使用 StataReader 将其读入 pandas:

    from pandas.io.stata import StataReader

    reader = StataReader('smalldataset.dta')
    data = reader.data()

使用 pandas 0.13.1,这需要大约 20 秒,但是使用 pandas 0.14.1,这需要大约 300 秒。

我真的很想升级到新的 pandas 版本并使用我的数据,它的大小大约为 bigdataset.dta。有人知道我可以有效导入数据的方法吗?

最佳答案

对于偶然发现此问题并对答案感兴趣的任何人 - 我根据 Roberto 的建议将此问题发布在 pandas Github 页面上,他们已经找到并修复了性能问题。现在使用他们的 master 分支效果很好!

关于python - Pandas 0.14.1 StataReader - 阅读 .dta 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25318397/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com