数据帧替换多列条件下的值

2024-05-17 03:43:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框df_商品,其中有两列内容:ProductType和ProductDescription。ProductType的其中一个值是“附件”,它可以有多个不同的ProductDescription值,例如“灯”、“镜子”等。我如何进行条件替换,如以下所示:

If (df_merchandise.ProductType == 'Accessory') and (df_merchandise.ProductDescription == 'Mirror'):
     replace 'Accessory' with 'Mirror'

这里的关键是,如果PType的行值为“附件”并且PDesc的行值为,则我仅替换ProductDescription的ProductType的值。是“镜子”。 pandas dataframe


Tags: and数据内容df附件ifmirror条件
1条回答
网友
1楼 · 发布于 2024-05-17 03:43:00

如果您的原始DF是

  ProductDescription ProductType
0                Art   Accessory
1             Mirror   Accessory
2        Western Art   Accessory
3             Tassel   Accessory
4           Hardware   Accessory
5             Mirror   Accessory

您可以执行以下操作:

mirror_filter = (df['ProductType'] == 'Accessory') & (df['ProductDescription'] == 'Mirror')
df.loc[mirror_filter, 'ProductType'] = df['ProductDescription']

结果DF应为:

  ProductDescription ProductType
0                Art   Accessory
1             Mirror      Mirror
2        Western Art   Accessory
3             Tassel   Accessory
4           Hardware   Accessory
5             Mirror      Mirror

相关问题 更多 >