如何基于另一列中的信息创建新列?

时间:2020-09-29 19:54:44

标签: python pandas dataframe

我尝试在panda数据框中创建一个新列。我在一列中有名称,我想在新列中获得编号。如果名称是按顺序重复的,则它们将获得相同的编号;如果名称重复使用不同的名称,则应获得另一个编号

例如,我的df就像

Name/
Stephen
Stephen
Mike 
Carla
Carla
Stephen

我的新列应该是

Numbers/
0
0
1
2
2
3

对不起,我无法在此处粘贴数据框。

1 个答案:

答案 0 :(得分:1)

尝试:

df['Numbers'] = (df['Name'] != df['Name'].shift()).cumsum() - 1

输出:

      Name  Numbers
0  Stephen        0
1  Stephen        0
2     Mike        1
3    Carla        2
4    Carla        2
5  Stephen        3