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

如何检查DataFrame含空格条目并处理汽车品牌数据?

处理汽车品牌DataFrame的解决方案

嘿,针对你的需求,我们可以分两步轻松搞定:先删掉那些全是空格的条目,再把有效品牌名改成带省略号的截断格式。下面是具体的代码和说明:

第一步:过滤仅含空格的行

首先,我们需要把Car_Brand列里那些完全由空格组成的行去掉。用str.strip()把字符串前后的空格去掉后,如果结果是空串,就说明原条目全是空格,直接过滤掉这些行就行:

# 移除所有Car_Brand列全为空格的行
df = df[df['Car_Brand'].str.strip() != '']

第二步:截断品牌名并添加省略号

接下来处理品牌名的显示格式。原条目长度是30,后面带了一堆空格,所以先把这些冗余空格去掉,然后截取前6个字符,再加上省略号,就能得到你想要的HYUNDA...效果:

# 处理品牌名:去空格→截断→加省略号
df['Car_Brand'] = df['Car_Brand'].str.strip().str[:6] + '...'

更简洁的链式写法

如果你喜欢更紧凑的代码,可以把两步合并成一个链式操作,看起来更清爽:

df = (df
      .loc[df['Car_Brand'].str.strip() != '', :]
      .assign(Car_Brand=lambda x: x['Car_Brand'].str.strip().str[:6] + '...')
)

进阶优化:短品牌名不加省略号

要是你不想给短品牌名(比如KIA)加省略号,可以写个自定义函数来处理,只在品牌名长度超过6的时候才截断加省略号:

def format_car_brand(brand):
    stripped = brand.strip()
    return stripped[:6] + '...' if len(stripped) > 6 else stripped

# 先处理格式,再过滤空行(顺序调换也没问题)
df['Car_Brand'] = df['Car_Brand'].apply(format_car_brand)
df = df[df['Car_Brand'] != '']

这样操作后,HYUNDAI 就会变成HYUNDA...,全空格的条目也被清理干净了,完全符合你的要求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:21:00