Python 过滤后更改数据帧中的值

Python 过滤后更改数据帧中的值,python,filter,pandas,dataframe,Python,Filter,Pandas,Dataframe,我想在熊猫数据框中执行以下操作: 选择列status中包含短语HOLD或RECALL 将这些行的recall\u hold值从FALSE更改为TRUE 我使用了以下代码,但失败了: book_status_df['recall_hold'] = 'FALSE' book_status_df.loc[book_status_df.status.str.contains('HOLD|RECALL')]['recall_hold'] = 'TRUE' book_status_df[book_statu

我想在熊猫数据框中执行以下操作:

  • 选择列
    status
    中包含短语
    HOLD
    RECALL
  • 将这些行的
    recall\u hold
    值从
    FALSE
    更改为
    TRUE
  • 我使用了以下代码,但失败了:

    book_status_df['recall_hold'] = 'FALSE'
    book_status_df.loc[book_status_df.status.str.contains('HOLD|RECALL')]['recall_hold'] = 'TRUE'
    book_status_df[book_status_df['recall_hold']=='TRUE']
    

    我做错了什么?

    您正在执行链索引,请尝试将中间行更改为:
    book\u status\u df.loc[book\u status\u df.status.str.contains('HOLD | RECALL'),'RECALL\u HOLD']='TRUE'
    请参阅规则和正确用法的说明