重置 Pandas 数据框的列索引

4

是否可以将列重置,使它们成为DataFrame的第一行。例如,

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
   a  b
0  1  4
1  2  5
2  3  6

期望的输出:
df2 = df.reset_column() ???
   0  1
0  a  b
1  1  4
2  2  5
3  3  6

这个回答解决了您的问题吗?在 Pandas 中重置列索引为 0,1,2,3...? - satk0
3个回答

8

还可以链接 reset.index

df.T.reset_index().T.reset_index(drop=True)

    0   1
0   a   b
1   1   4
2   2   5
3   3   6

我不想保留列标题,所以执行了以下操作:df.reset_index(drop=True).T.reset_index(drop=True).T - Nikhil VJ

7

使用

In [57]: pd.DataFrame(np.vstack([df.columns, df]))
Out[57]:
   0  1
0  a  b
1  1  4
2  2  5
3  3  6

1
在第一行插入列名并重置索引。
import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

df.loc[-1] = df.columns
df.index = df.index + 1
df = df.sort_index()
df.columns = [0,1]
df

    0   1
0   a   b
1   1   4
2   2   5
3   3   6

它会用列名覆盖第一行([1, 4])。 - taras
@taras已修复,请查看更新的答案。感谢提供信息。 - user8864088

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接