熊猫-计算多个条件

Bishonen_PL

在python中有一个数据框:

CASE    TYPE
1          A
1          A
1          A
2          A
2          B
3          B
3          B
3          B

我如何创建一个结果数据框,该数据框将产生所有案例,如果案例仅分配了“ A”,则为“ A”,如果仅分配“ B”则为“ B”,如果案例同时为A和B,则为“ MIXED” ?

结果将是:

Case     Type
1        A
2        MIXED
3        B
智慧

这是一个选项,我们首先将TYPE作为列表按组收集CASE,然后检查length唯一TYPE的,如果它大于1,则返回MIXEDTYPE本身:

import pandas as pd
import numpy as np
groups = df.groupby('CASE').agg(lambda g: [g.TYPE.unique()]).
            apply(lambda row: np.where(len(row.TYPE) > 1, 'MIXED', row.TYPE[0]), axis = 1)
groups

# CASE
# 1           A
# 2       MIXED
# 3           B
# dtype: object

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章