使用python更新数据库特定列中的值

时间:2018-08-24 08:59:06

标签: python python-2.7 pandas dataframe

我在一个名为_newdata的数据框中有一个名为id的col,它看起来像这样。请注意,这是该列中值的一部分,而不是全部。

1
1
1
2
2
2
2
2
4
4
4
4
4
5
5
5
5
7
7
7
7
7
8
8
8
8
10
10
10

我想做的是用值重命名'id',使其以连续数字形式出现。这意味着我希望它看起来像这样

1
1
1
2
2
2
2
2
3
3
3
3
3
4
4
4
4
5
5
5
5
5
6
6
6
6
7
7
7

我尝试使用此文件,但它似乎对文件没有任何作用。有人可以告诉我我哪里出了问题,或者建议一种方法来做我想做的事情?

count = 1 #values start at 1
    for i, row in _newdata.iterrows():
        if row['id']==count or row['id']==count+1:
            pass

        else:
            count+=1
            row['id']=count

1 个答案:

答案 0 :(得分:0)

您可以使用密集 rank()

df['id'] = df['id'].rank(method='dense').astype(int)