首页 > 解决方案 > 将新值归因于 Pandas DataFrame 的子集

问题描述

我正在使用以下代码行将包含“GLC”的任何内容的值更改为仅用于 Pandas DataFrame 子集的“GLC”。

xx.loc[xx['Brand'] == 'MERCEDES','Model'][xx[xx['Brand'] == 'MERCEDES']['Model'].str.contains('GLC',case=False)] = 'GLC'

当我检查该子集的输出时,我可以看到没有任何变化。

443         GLC 300
444         GLC 220
445      GLC 43 AMG
446         GLC 300
447         GLC 220
            ...    

一直在花费太多时间试图找出原因,在这一点上任何帮助都将不胜感激。谢谢

标签: pythonpandassubset

解决方案


&您可以通过for bitwise链接两个掩码AND,解决方案是:

xx.loc[(xx['Brand'] == 'MERCEDES') & xx['Model'].str.contains('GLC',case=False),'Model'] = 'GLC'

推荐阅读