给定列的唯一索引值的新列

时间:2019-07-12 17:35:49

标签: python pandas dataframe indexing unique

我有以下数据框:

data = dict(name=['a', 'a', 'a', 'b', 'b', 'c', 'd'])
df = pd.DataFrame(data=data, columns=data.keys())

如何创建一个新行,其值与name的唯一值相对应?

请提供以下信息:

df.index = [1, 1, 1, 2, 2, 3, 4]

1 个答案:

答案 0 :(得分:2)

列出三种方法

df.index=pd.factorize(df.name)[0]+1
df.index=df.name.astype('category').cat.codes+1
df.index=df.groupby('name').ngroup()+1