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

Pandas中判断A列元素是否对应B列多个不同元素

找出Pandas DataFrame中对应多类B列值的A列元素

解决步骤

  1. 按A列分组,提取每组B列的唯一值
  2. 筛选出B列唯一值数量大于1的分组
  3. 按指定格式输出结果

示例代码

import pandas as pd

# 初始化数据
d = {'A': [100, 100, 100, 100, 100, 5, 5, 5, 5], 'B': ['pen', 'pen', 'pen', 'pen', 'pen', 'rubber', 'rubber', 'ruler', 'rubber']}
df = pd.DataFrame(data=d)

# 分组提取B列唯一值
grouped_unique = df.groupby('A')['B'].unique()

# 筛选符合条件的记录
filtered = grouped_unique[grouped_unique.str.len() > 1]

# 按要求格式输出
for a_val, b_list in filtered.items():
    print(f"{a_val} : {list(b_list)}")

输出结果

5 : ['rubber', 'ruler']

代码说明

  • groupby('A')['B'].unique():将DataFrame按A列的值分组,每组保留B列的唯一元素,返回一个以A值为索引的Series。
  • grouped_unique.str.len() > 1:通过判断每组B列唯一元素的长度,筛选出对应多个不同B值的A元素。
  • 最后循环遍历筛选结果,将每个符合条件的A值和对应的B列唯一值列表按指定格式打印。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:30:37