为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取熊猫中频率较低的行的索引

如何获取熊猫中频率较低的行的索引

素胚勾勒不出你 2021-10-05 17:07:23
如何获得计数值较少的行的索引。例如:test = pd.DataFrame({'price' : [1, 2, 1, 3, 5, 2, 2]})out[1]:    price0   11   22   13   34   55   26   2我怎样才能得到 price = 1, 3 ,5 的索引,它在列中只出现少于 3 次?
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

使用 duplicated


test[~test.price.duplicated(keep=False)]

   price

3      3

4      5

test.index[~test.price.duplicated(keep=False)]

Int64Index([3, 4], dtype='int64')

更新然后你需要 transform


test[test.groupby('price').price.transform('count')<=1]

   price

3      3

4      5


test[test.groupby('price').price.transform('count')<3].index

Int64Index([0, 2, 3, 4], dtype='int64')


查看完整回答
反对 回复 2021-10-05
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

您可以计算物品value_counts并选择“足够稀有”的物品:


THRESHOLD = 3

is_rare = test['price'].value_counts() < THRESHOLD

rare = is_rare[is_rare].index

#Int64Index([1, 5, 3], dtype='int64')

接下来,找到包含稀有物品的行:


are_rare_rows = test["price"].isin(rare)

are_rare_rows[are_rare_rows].index

#Int64Index([0, 2, 3, 4], dtype='int64')


查看完整回答
反对 回复 2021-10-05
  • 2 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信