如何在Python DataFrame中提取对应最大单价的产品名称
解决提取最贵产品名称的问题
嘿,刚接触Python遇到这种基础问题太正常了,我来帮你搞定~你已经迈出了第一步——拿到了最高单价,接下来只需要把这个价格和对应的产品名称关联起来就行,给你两种常用的方法:
方法1:布尔索引筛选匹配行
先把最高单价存下来,然后筛选出所有单价等于这个最大值的行,再提取产品名称:
# 先获取最高单价 max_price = Stores['unit price'].max() # 筛选出对应行并提取产品名称(取第一个匹配结果) most_expensive_product = Stores[Stores['unit price'] == max_price]['product name'].values[0]
如果存在多个产品单价都是最高的情况,去掉[0]就能拿到所有匹配的产品名称,或者用.tolist()转成列表:
all_top_products = Stores[Stores['unit price'] == max_price]['product name'].tolist()
方法2:用idxmax()直接定位索引
这个方法更简洁,idxmax()会直接返回单价列最大值所在的行索引,然后用loc提取对应产品名称:
# 获取最高单价所在行的索引 max_price_idx = Stores['unit price'].idxmax() # 提取对应产品名称 most_expensive_product = Stores.loc[max_price_idx, 'product name']
同样,如果有多个同价产品,这个方法只会返回第一个出现的产品,要是想拿全部还是用方法1的列表写法更合适。
内容的提问来源于stack exchange,提问作者Swati Kanchan
相关产品推荐
相关产品推荐

