python - 如何选择值出现不止一次的 Pandas 数据框中的行

标签 python pandas

假设我有 Pandas 数据框,其中包含不同测量属性和相应测量值的列。

ID     Parameter     Value
0      'A'           4.3
1      'B'           3.1
2      'C'           8.9
3      'A'           2.1
4      'A'           3.9
.      .             .
.      .             .
.      .             .
100    'B'           3.8

如何过滤此数据框以仅包含出现次数超过 X 次的测量值?例如,对于此数据框,我想获取所有测量值超过 5 次的行(假设只有参数“A”和“B”出现超过 5 次)以获得如下所示的数据框。

ID     Parameter     Value
0      'A'           4.3
1      'B'           3.1
3      'A'           2.1
.      .             .
.      .             .
.      .             .
100    'B'           3.8

最佳答案

你可以使用value_counts + isin -

v = df.Parameter.value_counts()
df[df.Parameter.isin(v.index[v.gt(5)])]

例如,K = 2(获取所有超过 2 个读数的项目)-

df

   ID Parameter  Value
0   0         A    4.3
1   1         B    3.1
2   2         C    8.9
3   3         A    2.1
4   4         A    3.9
5   5         B    4.5

v = df.Parameter.value_counts()
v

A    3
B    2
C    1
Name: Parameter, dtype: int64

df[df.Parameter.isin(v.index[v.gt(2)])]

   ID Parameter  Value
0   0         A    4.3
3   3         A    2.1
4   4         A    3.9

关于python - 如何选择值出现不止一次的 Pandas 数据框中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48628417/

相关文章:

Python - 将 CSV 文件作为表格打印到控制台

python - 拆分单元格中的文本并为标记创建额外的行

python - 使用 Pandas 对不需要的 DataFrame 进行排序

python - 从 Python CLI 程序中智能启动默认编辑器?

python - 我为卷积编写的函数给出了错误

python - 如何知道 Crontab 是否正常工作?

python - 使用 Numpy 查找数组中的行组合,使得每列之和为相同值

python - python 2.7.3 中的函数和参数

python - 使用两个变量优化 cumprod()

python - DASK:当一方的 key 为 NA 时,合并会抛出错误,而 pd.merge 有效