我有一个DataFrame
,其中列值的组合标识唯一地址(A,B,C)。我想识别所有这样的行并为它们分配一个唯一的标识符,以便每个地址增加一个。Pandas DataFrame Groupby获取唯一行条件,并通过增加值来识别组数最多为组数
例如
A B C D E
0 1 1 0 1
0 1 2 0 1
0 1 1 1 1
0 1 3 0 1
0 1 2 1 0
0 1 1 2 1
我想生成以下
A B C D E ID
0 1 1 0 1 0
0 1 2 0 1 1
0 1 1 1 1 0
0 1 3 0 1 2
0 1 2 1 0 1
0 1 1 2 1 0
我试过如下:
id = 0
def set_id(df):
global id
df['ID'] = id
id += 1
df.groupby(['A','B','C']).transform(set_id)
这将返回NULL数据框......这绝对是不是做它的方式..我是熊猫新手。以上应该实际使用df[['A','B','C']].drop_duplicates()
来获取所有唯一值 谢谢。
的可能的复制[获取组ID回大熊猫数据框(http://stackoverflow.com/questions/15072626/get-group- id-back-into-pandas-dataframe) – maxymoo