用于插入列的Pandas作为索引

时间:2017-11-17 23:34:44

标签: python pandas dataframe

从excel阅读到pandas时,它显示为

t0001   Albania 0.03914382317658349
0   t0001   Algeria 0.298994
1   t0001   Austria 1.01137
2   t0001   Belgium 0.306369

我想要实现的是插入“&time;'''''''值',它应该显示如下

    time    region  value
0   t0001   Albania 0.0391438
1   t0001   Algeria 0.298994
2   t0001   Austria 1.01137
3   t0001   Belgium 0.306369

是否有可能在熊猫中实现?

2 个答案:

答案 0 :(得分:3)

阅读您的Excel文件时,请使用headernames参数进行阅读。

df = pd.read_excel(..., header=None, names=['time', 'region', 'value'])

如果您感到好奇,修复方法是调用reset_index并指定列:

df = df.T.reset_index().T
df.columns = ['time', 'region', 'value']

df['value'] = df['value'].astype(float)

df

        time   region     value
index  t0001  Albania  0.039144
0      t0001  Algeria  0.298994
1      t0001  Austria  1.011370
2      t0001  Belgium  0.306369

你应该尽可能地努力达不到像这样运行清理代码的程度。

答案 1 :(得分:1)

Header = None是正确的解决方案,但作为替代解决方案,您也可以这样做:

df.loc[-1] = df.columns  
df.index += 1
df.columns =  ['time', 'region', 'value']
df.value = df.value.astype(float)
   time   region                value
1  t0001  Algeria             0.298994
2  t0001  Austria              1.01137
3  t0001  Belgium             0.306369
0  t0001  Albania             0.039143