在保存pandas数据帧中的SPSS系统(sav)文件时,如何将系统丢失的值从nan重新编码为空白?

2024-09-29 19:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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有什么解决方案?在

事先非常感谢


Tags: 文件字符串dfaslistwritervaluessrw
1条回答
网友
1楼 · 发布于 2024-09-29 19:23:47

我想如果你想把“nan”值表示为空字符串,最好的方法是在源df中替换它们

df.fillna('')

在那之后再存钱。在

另外,请注意SPSS用来处理缺失数据的方法。这些设置在文件头中。在

相关问题 更多 >

    热门问题