假设我有一个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
最佳答案
您可以使用-
v = df.Parameter.value_counts()
df[df.Parameter.isin(v.index[v.gt(5)])]
例如,其中
value_counts
(获取具有两个以上读数的所有项)-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/