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

如何获得计数值较少的行的索引。例如:


test = pd.DataFrame({'price' : [1, 2, 1, 3, 5, 2, 2]})

out[1]:

    price

0   1

1   2

2   1

3   3

4   5

5   2

6   2

我怎样才能得到 price = 1, 3 ,5 的索引,它在列中只出现少于 3 次?


素胚勾勒不出你
浏览 189回答 2
2回答

MM们

使用 duplicatedtest[~test.price.duplicated(keep=False)]&nbsp; &nbsp;price3&nbsp; &nbsp; &nbsp; 34&nbsp; &nbsp; &nbsp; 5test.index[~test.price.duplicated(keep=False)]Int64Index([3, 4], dtype='int64')更新然后你需要 transformtest[test.groupby('price').price.transform('count')<=1]&nbsp; &nbsp;price3&nbsp; &nbsp; &nbsp; 34&nbsp; &nbsp; &nbsp; 5test[test.groupby('price').price.transform('count')<3].indexInt64Index([0, 2, 3, 4], dtype='int64')

慕勒3428872

您可以计算物品value_counts并选择“足够稀有”的物品:THRESHOLD = 3is_rare = test['price'].value_counts() < THRESHOLDrare = 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')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python