我使用savReaderWriter模块从python pandas dataframe保存SPSS文件,代码如下:
import savReaderWriter as srw
savFileName = 'Outfile name.sav'
records = map(list, df.values)
varNames = list(df.columns)
varTypes = {}
for n, values in enumerate(records[0]):
varName = varNames[n]
if df.dtypes[n] == 'float64':
varTypes[varName] = 0
else:
varTypes[varName] = 255
with srw.SavWriter(savFileName, varNames, varTypes, ioUtf8=True) as writer:
writer.writerows(records)
问题是SPSS文件中的空字符串变量有“nan”值。 在文档中,savWriter的默认选项是missingValues=None,但是将“None”更改为“”或任何其他字符串不会起到作用。 用空字符串代替nan有什么解决方案?在
事先非常感谢
我想如果你想把“nan”值表示为空字符串,最好的方法是在源df中替换它们
在那之后再存钱。在
另外,请注意SPSS用来处理缺失数据的方法。这些设置在文件头中。在
相关问题 更多 >
编程相关推荐