如何在Pandas DataFrame中将第二行的分类列移到第一行?

2 投票
3 回答
2171 浏览
提问于 2025-05-16 19:21

我有一个这样的数据库:

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

我该怎么把它们放到数据表的第一行,这样我就可以对这些值进行分组和操作了呢?

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

相关问题:

  • 暂无相关问题
暂无标签

3 个回答

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'})
1

你可以直接删除第一行,然后给列重新命名。

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

你之前的尝试已经很接近了。其实,你可以先重置索引,这样就能把日期从索引中移到第一列。接着,再重命名这个日期列,把它从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

撰写回答