我有以下数据框
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
...
我该怎么做?
答案 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
,然后将rename
与rename_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"