问题描述
我有一个包含 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 (将#修改为@)