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

Pandas中如何通过其他列取值获取指定列的值并进行运算

你可以通过以下几种方式实现需求,默认你已经取出了outlook对应的频次表存为变量freq_df:

方法1:直接按条件筛选后求和

如果要计算所有outlook为rainy的Time总和,直接用布尔索引筛选后调用sum()方法即可:

total_rainy = freq_df[freq_df['outlook'] == 'rainy']['Time'].sum()
# 输出结果为5

如果需要明确指定play的取值分别获取再相加,写法如下:

rainy_yes = freq_df[(freq_df['outlook'] == 'rainy') & (freq_df['play'] == 'yes')]['Time'].values[0]
rainy_no = freq_df[(freq_df['outlook'] == 'rainy') & (freq_df['play'] == 'no')]['Time'].values[0]
total_rainy = rainy_yes + rainy_no

方法2:按outlook分组预计算总和

如果你需要频繁获取不同outlook对应的总Time,可以提前做一次分组聚合,后续直接取值即可:

outlook_total = freq_df.groupby('outlook')['Time'].sum()
# 直接获取rainy对应的总Time
total_rainy = outlook_total.loc['rainy']
# 同样可以取其他outlook的总数值,比如outlook_total.loc['sunny']得到5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 17:06:03