如何通过保留精确数据将 SPSS 文件转换为 Pandas CSV?

问题描述

我有一个包含 10031 行和 3770 列的 SPSS 数据文件。我需要在 Pandas 中使用它。 我使用 pyreadstat 和 read_spss 将 SPSS 文件转换为 Dataframe 和 CSV 文件

成功了;所有行和列都已导入到数据框 /CSV 文件中。但是数据框和CSV文件存在巨大差异。数据框中列的值与 SPSS 不同。所以基于列值的行数不等于SPSS。

一个例子,主 SPSS 文件有一列的值为 1、2 和 -1。 1,2 和 -1 的行数分别为 7792、2237、2。但是在数据框中,分别是7756、2273和3。这发生在其他列。我不明白为什么数据框或 CSV 文件中的列和行中的值已更改。它产生错误输出

SPSS 中的输出

Valid   Yes 1   7792
        No 2    2237
      Total    10029
Missing -1         2
Total          10031

Python 输出

df,Meta = pyreadstat.read_sav("mycsv.sav")
df.to_csv("newcsv.csv")

df.groupby('column1').size()

出: 第一列

1.0    7756
2.0    2272
dtype: int64

Pandas 1.0 和 2.0 的输出应该和 SPSS 的 7792 和 2237 匹配。但是 Pandas 的输出不同。

谁能解释一下吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)