【问题标题】:Pandas Categorical masking [duplicate]熊猫分类掩蔽[重复]
【发布时间】:2018-04-07 20:13:21
【问题描述】:

我有一个我认为很简单的问题,但我在文档中找不到我要查找的内容。

我有一个数据框,其中有一个名为 mycolCategorical 列,其类别为 ab,并希望屏蔽数据框的子集,如下所示:

df_a = df[df.mycol.equal('a')]

目前我在做:

df_a = df[df.mycol.cat.codes.values==df.mycol.cat.categories.to_list().index('a')]

这显然是非常冗长和不雅的。由于df.mycol 既有代码又有编码标签,它拥有执行此操作的所有信息,所以我想知道最好的方法...

【问题讨论】:

  • df_a = df[df.mycol == 'a'] 不起作用?
  • 我不明白您目前的方法应该解决什么问题
  • 我用df = pd.DataFrame({'mycol': pd.Categorical(list('aaabbbababab'))})df_a = df[df.mycol == 'a'] 对其进行了完美测试。

标签: python pandas numpy dataframe


【解决方案1】:
df_a = df[df["mycol"]=='a'] 

我相信这应该可行,除非“掩码”是指您实际上想要将没有 a 的值归零

【讨论】:

    猜你喜欢
    • 2018-10-12
    • 2020-12-19
    • 2017-09-19
    • 1970-01-01
    • 2014-05-25
    • 2019-04-07
    • 2017-12-23
    相关资源
    最近更新 更多