首页 > 解决方案 > 根据另一列的对应行重命名一列的行

问题描述

我有一个像这样的熊猫数据框

GRUPPO FORMATO | Creative Size 
_______________________________
'Lightbox'       | '200x100'
'Lightbox'       | '100x200'
'Something'      | 'hello'

如果 GRUPPO FORMATO 的行等于“Lightbox”,我想使用以下架构重新标记“Creative Size”的行:字符串“Lightbox”和列 Creative Size 中的相应字符串。所需的输出是:

GRUPPO FORMATO | Creative Size 
_______________________________
'Lightbox'       | 'Lightbox 200x100'
'Lightbox'       | 'Lightbox 100x200'
'Something'      | 'hello'

我试过这个但不起作用:

db_new.loc[db_new['GRUPPO FORMATO']=='Lightbox', 'Creative Size']= str('Lightbox '+ db_new['Creative Size])

有什么帮助吗?

标签: python-3.xpandas

解决方案


您可以尝试使用np.where

df['Creative Size'] = np.where(df['GRUPPO FORMATO'] == 'Lightbox', 
                               df['GRUPPO FORMATO'] + ' ' + df['Creative Size'], 
                               df['Creative Size'])
print(df)

  GRUPPO FORMATO     Creative Size
0       Lightbox  Lightbox 200x100
1       Lightbox  Lightbox 100x200
2      Something             hello

推荐阅读