python - 如何获取 pandas 中出现频率较低的行的索引

标签 python pandas dataframe

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

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

如何获得价格 = 1, 3 ,5 的索引,该索引在列中仅出现少于 3 次?

最佳答案

使用重复

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

test.index[~test.price.duplicated(keep=False)]
Int64Index([3, 4], dtype='int64')

更新然后你需要转换

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')

关于python - 如何获取 pandas 中出现频率较低的行的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54084867/

相关文章:

python - 从 python 线程(不是主线程)启动 pyQt 线程有什么不好?

python - 根据 2D numpy 数组过滤 3D numpy 数组

python - 命令行 : Python program says "Killed"

r - 在 R 中相交 - 错过一个多边形

python - 如何将 CSV 文件导入 django 模型

python - 如何用 sympy 简化矩阵中的分数?

python - Pandas:从列值重构数据框

pandas - 标准化 Pandas 数据框中的一列

python - 将 pandas DataFrame 融入具有基于列的唯一键的字典中

python - 数据框的分组依据和列的平均值