计算多个变量中缺失值的快速方法
Quick way to count missing values in many variables
我创建了一个小程序来计算 'None' 缺失值的数量。但问题是它非常耗时(1000
变量大约 6-7mn
,这太多了,因为我正在处理更大的数据集)。
所以我正在寻找替代方案,也许有人可以在这里提供帮助。这是我的程序:
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')
来自
counter=miss.find('None')
但这并没有改变任何东西。有人能帮我吗?我看到了 google 帮助这个程序:
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'
时,它将始终列在该列表的第一位,我认为这可能有助于找到解决方案。
如果有人知道,我将不胜感激!
SPSS语法aggregate
命令可以轻松做到这一点:
aggregate ...... /nms1 to nms1000=nmiss(var1 to var1000).
我创建了一个小程序来计算 'None' 缺失值的数量。但问题是它非常耗时(1000
变量大约 6-7mn
,这太多了,因为我正在处理更大的数据集)。
所以我正在寻找替代方案,也许有人可以在这里提供帮助。这是我的程序:
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')
来自
counter=miss.find('None')
但这并没有改变任何东西。有人能帮我吗?我看到了 google 帮助这个程序:
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'
时,它将始终列在该列表的第一位,我认为这可能有助于找到解决方案。
如果有人知道,我将不胜感激!
SPSS语法aggregate
命令可以轻松做到这一点:
aggregate ...... /nms1 to nms1000=nmiss(var1 to var1000).