将第二行中的列分类到DataFrame Pandas中的第一行?

时间:2017-04-29 20:28:10

标签: python pandas numpy jupyter-notebook

我有这个数据库:

Unnamed=0          2001 2002 2003

General             456  567  543
Cleaning            234  234  344

转置数据后,我在Jupyter Notebook的第二行获得了变量:

df = df.T.rename_axis('Date').reset_index()
df
   Date       1         2
1           General  Cleaning
2  2001      456       234
3  2002      567       234
4  2003      543       344

如何将它们放在DataFrame的第一行,以便我可以对值进行分组和操作?

   Date     General  Cleaning
1  2001      456       234
2  2002      567       234
3  2003      543       344

3 个答案:

答案 0 :(得分:2)

你接近上面展示的尝试。相反,reset the index将日期从索引移至第一列,然后rename将日期列从index移至Date

df = df.T.reset_index().rename(columns={'index':'Date'})
df

输出:

   Date General Cleaning
0  2001     456      234
1  2002     567      234
2  2003     543      344

答案 1 :(得分:1)

您只需删除第1行并重命名列。

df.drop(1, axis=0, inplace=True)
df.columns= ['Date', 'General', 'Cleaning']

答案 2 :(得分:0)

假设df

df = pd.DataFrame(data=[[2001,2002,2003],[456,567,543],[234,234,344]],index=[0,'General','Cleaning'])

就这样做:

df = df.T.copy().rename(columns={0:'Date'})