Python 中的类别 Pandas(特例)
Categories in Python with Pandas (special case)
我有一些数据,想建立一些类别。
现在,数据如下所示:
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' != 'a' 'Category' 都应该进入下一个类别,依此类推。
我该怎么做?
你可以比较不等于然后累加Series.cumsum
,必要时加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
我有一些数据,想建立一些类别。
现在,数据如下所示:
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' != 'a' 'Category' 都应该进入下一个类别,依此类推。 我该怎么做?
你可以比较不等于然后累加Series.cumsum
,必要时加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