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

标签 python pandas dataframe flags

在下面的 DataFrame 中,我有三列:

   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

最佳答案

您也可以选择 transformnumpy.where用于填充值。

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          

关于python pandas 标志如果列中的每个值有多个唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42473831/

相关文章:

python - 将多索引列转换为标准列

python - 如何更改字典中的变量

python - 如何取消堆叠并将多列抓取到索引中?

python - pandas 数据框按一列上的最大值进行分组

python - 将 .rda 转换为 Pandas 数据框

python - 修改前序树遍历为Python结构

Python/Pandas - ARIMA 预测的困惑以获得简单的预测

python - 如何用不同的序列替换特定的数字序列(连续行中)

python - 在 python/pandas 中连接文本和数字

python - Pandas :仅当特定列中的值以以下开头时才选择数据框行