python - 根据其他替换 2 个选定的行值
问题描述
我有一个看起来像这样的df:
Id Class Label
0 APPS Item
1 MODEL Item
2 PRICE Money
我想检查Class
标签所在的所有条目Item
。在这些类中,我想APPS
用另一个字符串替换所有出现的 ,OTHERS
并希望将Label
这些行的 替换为另一个字符串,例如SOFTWARE
我怎样才能实现这一点?我正在尝试这样的事情:
def changeLabelClass(label):
if (label == "")
mask = modifiedDf['Label'] == "Item"
modifiedDf.loc[mask, 'Class'] = [changeLabelClass(x) for x in modifiedDf.loc[mask, 'Class']]
结果:
Id Class Label
0 OTHERS SOFTWARE
1 MODEL Item
2 PRICE Money
解决方案
按位DataFrame.loc
与链 2 条件一起使用- 这里是分配有 2 个值的列表,因为选择了 2 列:&
AND
['Class', 'Label']
mask1 = df['Label'] == "Item"
mask2 = df['Class'] == "APPS"
df.loc[mask1 & mask2, ['Class', 'Label']] = ['OTHERS','SOFTWARE']
print (df)
Id Class Label
0 0 OTHERS SOFTWARE
1 1 MODEL Item
2 2 PRICE Money
推荐阅读
- ms-access - 如何使用具有多个值的一个参数进行查询?
- excel - 如何计算文本框值的总和并将其打印到单元格?
- linux - 无法连接到存储库 SVN
- javascript - 如何将导入的 Slack 数据定位到 Google 表格的特定单元格中?
- android - 错误:无法访问 zzbgl 错误不断重新出现
- c - malloc 覆盖按值传递的参数
- twilio - 当用户进行特定选择时,我如何(使用 Twilio Functions 示例关键字处理程序)向外部网站发送 POST 请求?
- bash - 如何在分隔符上拆分字符串并将常量值附加到所有元素
- javascript - Javascript:我想根据用户提供的值刷新具有更改的代码结构(值字段)的页面
- sql - 根据条件结果执行 SQL 查询