如何在pandas数据框的列名称上添加数字?

时间:2017-06-29 19:03:26

标签: python pandas

我们说我有这个数据框:

    Name   Salary  Field
0   Megan  30000   Botany
1   Ann    24000   Psychology
2   John   24000   Police
3   Mary   45000   Genetics
4   Jay    60000   Data Science

我想在列名称上面添加一些0索引号,但我还想保留列名。我希望达到这种形式:

     0       1       2
    Name   Salary  Field
0   Megan  30000   Botany
1   Ann    24000   Psychology
2   John   24000   Police
3   Mary   45000   Genetics
4   Jay    60000   Data Science

我怎么能用pandas和Python做到这一点?

2 个答案:

答案 0 :(得分:5)

您无需创建新的数据框:

df.columns = pd.MultiIndex.from_tuples(list(enumerate(df)))

正如所料:

#        0      1             2
#     Name Salary         Field
# 0  Megan  30000        Botany
# 1    Ann  24000    Psychology
# 2   John  24000        Police
# 3   Mary  45000      Genetics
# 4    Jay  60000  Data Science

我希望这会有所帮助。

答案 1 :(得分:3)

这是一种快速的方法

new_df = pd.DataFrame(df.values,
                      columns = [ list(range(df.shape[1])), df.columns]
                      )

我确信有更优雅的方式