You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选Cow与Lact列值相同但Procedure列值不同的行

解决方法

你可以通过groupby结合filter实现需求,核心是先按Cow和Lact分组,再筛选出分组内Procedure存在多种取值的所有行。

完整代码

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有不同值的行
result = df.groupby(['Cow', 'Lact']).filter(lambda x: x['Procedure'].nunique() > 1)
print(result)

代码说明

  • groupby(['Cow', 'Lact']):将数据按牛编号(Cow)和泌乳期(Lact)分组,保证同一组内的Cow、Lact值完全一致。
  • filter(lambda x: x['Procedure'].nunique() > 1):对每个分组执行过滤逻辑,nunique()用于统计分组内Procedure的唯一值数量,当数量大于1时,说明该分组存在不同的Procedure取值,保留该分组的所有行。

运行结果

Cow Lact Procedure
0  1152    1        10
2  1152    1        10
4  1152    1         4

内容的提问来源于stack exchange,提问作者JohnH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 03:09:25