如何在熊猫数据框中插入列名?

时间:2019-02-14 09:29:22

标签: python pandas dataframe

我有以下数据框

             0
0     0.164560
1     0.000000
2     0.350000
3     0.700000
    ...
3778  0.350000
3779  0.000000
3780  0.137500
3781  0.253333

我想添加一个从索引1开始的doc-id列,并将列0的值更改为value。 预期输出为

doc-id       value
    1     0.164560
    2     0.000000
    3     0.350000
    4     0.700000
        ...

我该怎么做?

2 个答案:

答案 0 :(得分:2)

使用insert,然后使用rename

df.insert(0, 'doc-id', df.index + 1)
df = df.rename(columns={0:'value'})

print (df)
      doc-id     value
0          1  0.164560
1          2  0.000000
2          3  0.350000
3          4  0.700000
3778    3778  0.350000
3779    3779  0.000000
3780    3780  0.137500
3781    3781  0.253333

如果需要更改索引,请添加1,然后将renamerename_axis一起使用:

df.index +=1
df = df.rename(columns={0:'value'}).rename_axis('doc-id')
print (df)
           value
doc-id          
1       0.164560
2       0.000000
3       0.350000
4       0.700000
3779    0.350000
3780    0.000000
3781    0.137500
3782    0.253333

答案 1 :(得分:1)

如果您想将此新列视为数据框的索引(而不是数据列):

# adjust the index to start at 1 instead of 0
df.reindex(df.index+1, copy=False)
# add the doc_id name
df.index.name = "doc_id"