Python 熊猫群体标准

Python 熊猫群体标准,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我正在努力解决熊猫分组问题,这可能是一个非常简单的问题。 e、 g 在这个数据集中,最简单的矢量化方法是什么,我可以用它排除类别(列)“名称”的所有行项目,其中“数字”的最小值低于8。 在上述情况下,将删除所有B,因为至少有一个元素的值低于8 我相信使用groupby、apply或filter一定是可能的,但不记得如何使用 细节 In [3282]: df Out[3282]: name number 0 A 10 1 A 8 2 B

我正在努力解决熊猫分组问题,这可能是一个非常简单的问题。 e、 g

在这个数据集中,最简单的矢量化方法是什么,我可以用它排除类别(列)“名称”的所有行项目,其中“数字”的最小值低于8。 在上述情况下,将删除所有B,因为至少有一个元素的值低于8

我相信使用
groupby
apply
filter
一定是可能的,但不记得如何使用


细节

In [3282]: df
Out[3282]:
  name  number
0    A      10
1    A       8
2    B       7
3    B       6
4    B       9
使用


细节

In [3282]: df
Out[3282]:
  name  number
0    A      10
1    A       8
2    B       7
3    B       6
4    B       9
您可以与
min
一起使用遮罩和过滤器:

print (df.groupby('name')['number'].transform('min') >=8)
0     True
1     True
2    False
3    False
4    False
Name: number, dtype: bool

df = df[df.groupby('name')['number'].transform('min') >=8]
print (df)
  name  number
0    A      10
1    A       8
您可以与
min
一起使用遮罩和过滤器:

print (df.groupby('name')['number'].transform('min') >=8)
0     True
1     True
2    False
3    False
4    False
Name: number, dtype: bool

df = df[df.groupby('name')['number'].transform('min') >=8]
print (df)
  name  number
0    A      10
1    A       8

这也可以通过
apply
实现(为了完整性)

输出:

name number 0 A 10 1 A 8 姓名号码 0 A 10 1 A 8
这也可以通过
apply
实现(为了完整性)

输出:

name number 0 A 10 1 A 8 姓名号码 0 A 10 1 A 8
非常感谢!我以前试过,但在某个地方犯了个错误。。。现在我复制了你的代码,它工作了!超快速响应!非常感谢!我以前试过,但在某个地方犯了个错误。。。现在我复制了你的代码,它工作了!超快速响应@GigiHofleitner别忘了投票表达你的感激。@GigiHofleitner别忘了投票表达你的感激之情。当你可以
df.groupby('name')['number'].min()>=8
?没有任何操作说明
apply
转换
过滤器
na因此添加了一个基于应用的解决方案:)。可能会显示繁重的工作所完成的事情。:)先生,您的精彩解决方案有时会出现在评论中。如果您可以
df.groupby('name')['number'].min()>=8
?没有操作说明
apply
transform
filter
na因此添加了基于应用的解决方案:)。可能会显示繁重的工作所完成的事情。:)先生,您的精彩解决方案有时会停留在评论TBH中。