【问题标题】:How to replace values in a Pandas Dataframe on a condition? [duplicate]如何在条件下替换 Pandas Dataframe 中的值? [复制]
【发布时间】:2020-10-15 00:27:27
【问题描述】:

我定义了一个值列表,我在数据框的列中搜索并希望替换该 df 中匹配的所有值。

  First_name
0        Jon
1       Bill
2       Bill



 names = {'First_name': ['Jon','Bill', 'Bill']}
    name_list = ['Bill']
    df = DataFrame(names,columns=['First_name'])
    df.loc[df['First_name'].apply(str) in name_list] = 'Killed'

应该会导致

  First_name
0        Jon
1       Killed
2       Killed

但我遇到了一个错误

TypeError: 'in' 需要字符串作为左操作数,而不是 Series

不太清楚为什么,因为我将 (str) 应用于左操作数

【问题讨论】:

    标签: python pandas string dataframe


    【解决方案1】:

    你的意思是:

    name_list = ['Bill']
    df.loc[df['First_name'].isin(name_list), 'First_name'] = 'Killed'
    

    【讨论】:

    • .isin() 成功了,也很抱歉我忘了包括括号!谢谢
    猜你喜欢
    • 2018-09-26
    • 2016-04-24
    • 1970-01-01
    • 2015-10-09
    • 2019-08-15
    • 1970-01-01
    • 2014-06-12
    • 2015-05-12
    相关资源
    最近更新 更多