2017-01-01 16 views
1

我有一个Excel文件看起来像下面在Excel中:为什么有许多“南”中的指数从Excel文件导入一个多指标数据帧后?

  2016-1-1 2016-1-2 2016-1-3 2016-1-4 
300100 am 1   3   5   1 
     pm 3   2   4   5 
300200 am 2   5   2   6 
     pm 5   1   3   7 
300300 am 1   6   3   2 
     pm 3   7   2   3 
300400 am 3   1   1   3 
     pm 2   5   5   2 
300500 am 1   6   6   1 
     pm 5   7   7   5 

但经过我进口它由pd.read_excel和印刷,它在Python中显示如下图所示:

  2016-1-1 2016-1-2 2016-1-3 2016-1-4 
300100 am 1   3   5   1 
NaN  pm 3   2   4   5 
300200 am 2   5   2   6 
NaN  pm 5   1   3   7 
300300 am 1   6   3   2 
NaN  pm 3   7   2   3 
300400 am 3   1   1   3 
NaN  pm 2   5   5   2 
300500 am 1   6   6   1 
NaN  pm 5   7   7   5 

哪有我解决这个问题,使Dataframe看起来像Excel中的格式,没有那么多的“NaN”?谢谢!

+0

尝试扩大与楠列的宽度,并告诉我,如果有什么变化 – aguertin

+0

如果不改变任何东西,然后因为细胞被解析为数字格式,它是最有可能的,当它什么也看不到它其解释为空..所以代替解析为文本/字符串,如果你要插入“”从代码 – aguertin

回答

1

没有它不可能是肯定的版本访问Excel文件或知识,但它只是看起来像你必须与所有其他行留空号码列(第一列)。熊猫预计均匀地填充柱,因此,尽管在Excel中你有一个排序的信息,上午和下午都为每个第一列号(ID?)“结构”中,熊猫只看到两行,一个带有无效第一列。这取决于你如何真正要访问这些数据,一个简单的办法是直接与它上面的号码来代替每个NaN的,所以每一行都包含无论是对“ID”上午或下午的信息。另一个解决方法是将您的列结构更改为2016-1-1-am和2016-1-1-pm字段。

+0

我试图用数字在Excel中导入文件之前,直接更换了几个NaN的上面,和它的工作。但如何用熊猫以快速的方式做到这一点?我知道如果他们是列中的值,我可以使用“替换”,但我不知道如何处理索引。谢谢! – Steven

0

您正在寻找的fillna方法:

df = df.fillna('') 
2

很多时候Excel的样子,你在你的例子是什么的时候,它居然有那些地方空间是空白。但是,这些单元格被合并,所以它看起来很漂亮。当你将它导入熊猫时,它会将它们读为空或NaN。

为了修正它,转发填充空细胞,然后设置为索引。

df.ffill() 
相关问题