2017-11-17 58 views
1

从Excel中读取到的大熊猫时,这样表示大熊猫用于插入的列索引

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

我想实现的是插入的“时间”,“区域”一栏,“价值”,它应该如下所示:

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

在熊猫中可以实现吗?

+0

嗨。如果您的问题得到解答,请不要忘记[投票并接受答案](https://stackoverflow.com/help/someone-answers)。谢谢 –

回答

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

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