我创建了一个小程序来统计'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'
时,它总是会列在该列表的第一位置,我认为这可能有助于找到解决方案。
如果有人有任何想法,我将非常感激!