Python:如何将处理后的列加入DataFrame并筛选SEAT数据
问题解决:DataFrame处理品牌列空格并筛选数据
原代码问题分析
你的代码存在两个关键问题:
df_csv2.Brand.str.rstrip()返回的是Series(单一列数据),并非DataFrame,所以调用brand_reviewed['Brand']会报错——Series没有列索引'Brand'。isin()方法需要传入可迭代对象(比如列表['SEAT']),直接传字符串'SEAT'不符合方法要求,其实这里用直接相等判断更简洁。
解决方案
有两种常用处理方式,可根据需求选择:
方式1:直接清洗原Brand列(推荐,无需新增列)
直接用清洗后的值覆盖原列,之后基于原列筛选即可:
import pandas as pd # 去除Brand列所有值的尾部空格,覆盖原列 df_csv2['Brand'] = df_csv2['Brand'].str.rstrip() # 筛选Brand为'SEAT'的行 seat_rows = df_csv2[df_csv2['Brand'] == 'SEAT']
方式2:新增清洗后的列(保留原始数据)
如果需要保留原Brand列的原始值,可以新增一列存储清洗结果,再基于新列筛选:
import pandas as pd # 添加新列Brand_cleaned,存储去除尾部空格后的值 df_csv2['Brand_cleaned'] = df_csv2['Brand'].str.rstrip() # 基于新列筛选SEAT的行 seat_rows = df_csv2[df_csv2['Brand_cleaned'] == 'SEAT']
内容的提问来源于stack exchange,提问作者Maria
相关产品推荐
相关产品推荐

