下面的代码生成一个 Dataframe 来说明我的问题
import pandas as pd
data = [[1152, '1', '10'], [1154, '1', '4'],
[1152, '1', '10'], [1155, '2', '10'],
[1152, '1', '4'], [1155, '2', '10']]
df = pd.DataFrame(data, columns =['Cow', 'Lact', 'Procedure'])
这将生成以下内容
Cow Lact Procedure
0 1152 1 10
1 1154 1 4
2 1152 1 10
3 1155 2 10
4 1152 1 4
5 1155 2 10
我想找出Cow和Lact相同但procedure不同的行。我要查找的输出为
Cow Lact Procedure
0 1152 1 10
1 1152 1 10
2 1152 1 4
我想它将需要一个groupby和filter函数,但不知道如何把它放在一起。谢谢
1条答案
按热度按时间jmo0nnb31#
使用
groupby.transform('nunique')
和布尔索引:输出: