python pandas 标记如果列中每个值有多个唯一行

2024-04-27

在下面的数据框中,我有三列:

   Code      |   Category  |    Count
     X               A          89734
     X               A          239487
     Y               B          298787
     Z               B          87980
     W               C          098454

我需要添加一列,如果一个类别有多个唯一代码(如上例中的 B),它会获得一个标志,将其表示为测试。

所以我正在寻找的输出是这样的:

   Code      |   Category  |    Count    | Test_Flag
     X               A          89734       
     X               A          239487
     Y               B          298787         T
     Z               B          87980          T
     W               C          098454

您还可以选择transform http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.transform.html with numpy.where https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html用于填充值。

df['Test_flag'] = np.where(df.groupby('Category').Code.transform('nunique') > 1, 'T', '')


>>> df
  Category Code   Count Test_flag
0        A    X   89734          
1        A    X  239487          
2        B    Y  298787         T
3        B    Z   87980         T
4        C    W   98454          
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python pandas 标记如果列中每个值有多个唯一行 的相关文章

随机推荐