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

Python脚本读取CSV:获取最大speed对应name的问题(mph单位干扰)

解决带单位的speed列最大值对应name问题

问题出在speed列的值是带mph后缀的字符串,无法直接进行数值比较,需要先清洗该列提取纯数值,再进行后续操作。以下是两种可行的修改方案:

方案一:移除后缀转数值

直接去掉mph后缀后转换为浮点型:

import pandas as pd

df = pd.read_csv('cars.csv')
# 处理speed列,移除mph后缀并转为浮点型
df['speed_num'] = df['speed'].str.replace('mph', '').astype(float)
# 找到数值最大的行对应的name
max_speed_name = df.loc[df['speed_num'].idxmax(), 'name']
print(max_speed_name)

方案二:正则提取数字(更稳妥)

用正则表达式提取字符串中的数字部分,避免因格式变化导致的错误:

import pandas as pd

df = pd.read_csv('cars.csv')
# 提取speed列中的浮点数字部分,转为数值类型
df['speed_num'] = df['speed'].str.extract(r'(\d+\.\d+)').astype(float)
# 获取对应name值
max_speed_name = df.loc[df['speed_num'].idxmax(), 'name']
print(max_speed_name)

两种方案都会生成纯数值的辅助列speed_num,通过它就能正确找到最大速度对应的name,运行后都会输出mercedes。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:02:35