多变量中计算缺失值的快速方法。

3

我创建了一个小程序来统计'None'的数量,也就是缺失值。但问题是这个程序非常耗时(大约需要6-7分钟来处理1000个变量),这太久了,因为我正在处理更大的数据集。

所以我在寻找替代方案,希望有人能提供帮助。以下是我的程序:

BEGIN PROGRAM.
import spss
vars=spss.GetVariableCount()

for i in range(vars):
    dataCursor=spss.Cursor([i])
    oneVar=dataCursor.fetchall()
    dataCursor.close()
    miss=str(oneVar)
    counter=miss.count('None')
    #print counter
print "done"
END PROGRAM.

我也尝试了替换以下内容:
counter=miss.count('None')

by

counter=miss.find('None')

但这没有改变任何事情。有人能在这里帮助我吗?我在谷歌帮助中看到了这个程序:

begin program.
import spssdata
majors = []
for case in spssdata.Spssdata('mq1'):
    major = case[0]
    if major not in majors:
        majors.append(major)
print majors
end program.

但是我无法让它对所有变量都运行。因为当我们有一个'None'时,它总是会列在该列表的第一位置,我认为这可能有助于找到解决方案。

如果有人有任何想法,我将非常感激!

1个回答

0

SPSS 语法中的 aggregate 命令可以轻松完成此操作:

aggregate ...... /nms1 to nms1000=nmiss(var1 to var1000).

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接