pandas.DataFrame 中的 NaN 未打印到 Excel
Posted
技术标签:
【中文标题】pandas.DataFrame 中的 NaN 未打印到 Excel【英文标题】:NaNs in pandas.DataFrame not printing to Excel 【发布时间】:2013-07-11 11:23:25 【问题描述】:我有一个 pandas.DataFrame
,其中包含 numpy.nan
浮点数。但是,当使用 Excel 编写器时,应该有 numpy.nan
浮点数的字段是空白的。我希望至少有一个字符串表示,而不是什么都没有。
你有什么想法吗?
编写器代码如下:
writer=pandas.ExcelWriter('output.xls')
frame.to_excel(writer,'tab name')
writer.save()
frame
看起来像这样(注意 2013-01-1 上的 NaN):
Series ID Risk Bucket Contract PX Last Contract Value (Local) Currency X Contract Value (USD) Currency
2013-01-01 Future_ES EQ ES1 Index NaN NaN 1 NaN USD Curncy
2013-01-02 Future_ES EQ ES1 Index 1447.16 72362.5 1 72362.5 USD Curncy
2013-01-03 Future_ES EQ ES1 Index 1443.68 72187.5 1 72187.5 USD Curncy
2013-01-04 Future_ES EQ ES1 Index 1447.90 72400.0 1 72400.0 USD Curncy
但 Excel 文件有空白(见附图)。
【问题讨论】:
【参考方案1】:从documentation,您应该在to_excel
中使用您喜欢的字符串设置选项na_rep
。例如:
frame.to_excel(writer,'tab name', na_rep='NA')
【讨论】:
奇怪,我使用的是 0.9.1,它没有记录该功能,也无法在源 (Github) 中准确指出它,但是它可以工作,谢谢。 @strimp099 它位于代码库 here 和 0.9.1 文档中 here(尽管建议更新到最新的稳定版)。以上是关于pandas.DataFrame 中的 NaN 未打印到 Excel的主要内容,如果未能解决你的问题,请参考以下文章
如何在 pandas DataFrame 中以衰减速率前向填充 NaN 值
pandas.DataFrame.describe() 与 numpy.percentile() NaN 处理
pandas.DataFrame.describe() 与 numpy.percentile() NaN 处理