Python中带熊猫的类别(特例)
我有一些数据,想建立一些类别 现在,数据如下所示:Python中带熊猫的类别(特例),python,pandas,dataframe,categories,Python,Pandas,Dataframe,Categories,我有一些数据,想建立一些类别 现在,数据如下所示: Var Category a cat1 a cat1 b cat2 a cat1 b cat2 a cat1 Var Category a cat1 a cat1 b cat2 a cat2 b cat3 a ca
Var Category
a cat1
a cat1
b cat2
a cat1
b cat2
a cat1
Var Category
a cat1
a cat1
b cat2
a cat2
b cat3
a cat3
但它应该是这样的:
Var Category
a cat1
a cat1
b cat2
a cat1
b cat2
a cat1
Var Category
a cat1
a cat1
b cat2
a cat2
b cat3
a cat3
所以,只要“Var”!='“类别”应移到下一个类别,依此类推。
我怎样才能做到这一点?您可以比较是否不相等,然后通过添加累计和,必要时添加
1
,转换为字符串并添加到cat
:
df['Category'] = 'cat' + df.Var.ne('a').cumsum().add(1).astype(str)
备选方案:
df['Category'] = 'cat' + (df.Var != 'a').cumsum().add(1).astype(str)
print (df)
Var Category
0 a cat1
1 a cat1
2 b cat2
3 a cat2
4 b cat3
5 a cat3
您可以比较是否不相等,然后通过添加累积和,必要时添加
1
,转换为字符串并添加到cat
:
df['Category'] = 'cat' + df.Var.ne('a').cumsum().add(1).astype(str)
备选方案:
df['Category'] = 'cat' + (df.Var != 'a').cumsum().add(1).astype(str)
print (df)
Var Category
0 a cat1
1 a cat1
2 b cat2
3 a cat2
4 b cat3
5 a cat3