如何用Python Pandas实现按Name计算指定行Fruit与Vegetables的乘积?
解决方案
直接实现get_total_produce函数即可满足需求,完整代码如下:
import pandas as pd # 读取Excel文件到DataFrame df = pd.read_excel('Produce.xlsx') def get_total_produce(name): # 筛选出对应Name的行 target_row = df[df['Name'] == name] # 提取Fruit和Vegetables列的值并计算乘积 return target_row['Fruit'].iloc[0] * target_row['Vegetables'].iloc[0] # 调用示例 print(get_total_produce('Kroger')) # 输出:280
代码解释:
- 用
pd.read_excel读取Produce.xlsx文件,将数据存入DataFrame - 函数接收
name参数后,通过布尔索引df['Name'] == name定位到目标行 - 使用
.iloc[0]获取目标行中对应列的数值(确保取到单行的具体值) - 返回两列数值的乘积
你也可以用.loc方法优化代码可读性:
def get_total_produce(name): fruit = df.loc[df['Name'] == name, 'Fruit'].iloc[0] vegetables = df.loc[df['Name'] == name, 'Vegetables'].iloc[0] return fruit * vegetables
内容的提问来源于stack exchange,提问作者mosesjs
相关产品推荐
相关产品推荐

