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

如何对分组聚合后的Pandas DataFrame筛选以实现PyQt绘图

解决方案

方法1:利用索引直接访问(推荐)

执行df.groupby('Experiment').agg(list)后,Experiment列会成为DataFrame的行索引,直接用.loc[]即可定位目标实验行:

# 假设聚合后的DataFrame命名为df_agg
selected_row = df_agg.loc['Exp3']
# 提取绘图数据
data1 = selected_row['Data 1']
data2 = selected_row['Data 2']

拿到data1和data2后就可以直接传入pyqtgraph绘图。

方法2:聚合时保留Experiment为列

如果不想让Experiment作为索引,聚合时添加as_index=False参数,之后用布尔索引筛选:

# 聚合时不将Experiment设为索引
df_agg = df.groupby('Experiment', as_index=False).agg(list)
# 筛选目标实验
selected_df = df_agg[df_agg['Experiment'] == 'Exp3']
# 提取数据(因筛选结果是单行DataFrame,用iloc[0]获取行数据)
data1 = selected_df['Data 1'].iloc[0]
data2 = selected_df['Data 2'].iloc[0]

关于你之前的错误

你调用的.filter()是pandas GroupBy对象的方法,不能直接用于聚合后的DataFrame,这是报错的核心原因;另外你代码里写错了列名(应该是Experiment而非Culture ID),也会导致逻辑错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:10:52