在熊猫中使用read_excel和index_col时,如果工作表中包含一些0,我如何设置正确的索引列?

时间:2018-11-15 07:35:24

标签: python pandas

我有一个Excel工作表,我使用index_col将其设置为输入数据,其结构如下: enter image description here

设置index_col =0时,我尝试使用以下代码创建熊猫数据框:

df =  pd.read_excel('Interval estimation.xlsx', sheet_name= 0, index_col = 0, converters={'code':str})

这样的数据框:

    start   end
code        
1   NaT NaT
300473  2018-07-18  2018-07-28
2446    2018-07-17  2018-07-27
600398  2018-07-13  2018-07-23
603345  2018-07-12  2018-07-22
603228  2018-07-06  2018-07-16
300422  2018-07-05  2018-07-15
665 2018-06-28  2018-07-08
600831  2018-06-27  2018-07-07
603027  2018-06-20  2018-06-30
603601  2018-06-19  2018-06-29
2758    2018-06-14  2018-06-24

但是我需要在第一列中将0字符串保留为index_col,并且我需要通过以下两个步骤来解决以下代码:

df =  pd.read_excel('Interval estimation.xlsx', sheet_name= 0, converters={'code':str})
df = df.set_index('code')

我的问题是:如何在不使用set_index函数中使用read_excel的情况下一步获得正确的结果?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过将str.zfill()函数应用于索引来轻松实现此目的,

df.index = [str(x).zfill(6) for x in df.index.values]

请注意,这会将您的索引列转换为字符串。但是,我认为保持整数dtype可以满足您的要求