【问题标题】:Replacing a string value in one column based upon a list of other values in another column根据另一列中的其他值列表替换一列中的字符串值
【发布时间】:2020-12-02 21:20:16
【问题描述】:

我正在清理数据集,如果 B 列包含选项列表中的一个字符串,我需要将 A 列中的字符串替换为“foo”。

我有一个包含在 B 列中的值列表,我想用它来指示我需要替换 A 列

A   B
foo apple
foo banana
bar cherry
foo orange
bar melon
bar papaya

我有多个可能触发替换的值。

list = ['papaya', 'avocado', 'cherry', 'mango']

使用该列表通知替换如果 B 列包含列表中的值之一,我想将 A 列中的值更改为 foo。此示例中的结果将如下所示。

A   B
foo apple
foo banana
foo cherry
foo orange
bar melon

任何建议都有帮助,谢谢。

【问题讨论】:

标签: python python-3.x pandas string data-cleaning


【解决方案1】:

做:

lst = ['papaya', 'avocado', 'cherry', 'mango']
df.loc[df['B'].isin(lst), 'A'] = 'foo'
print(df)

输出

     A       B
0  foo   apple
1  foo  banana
2  foo  cherry
3  foo  orange
4  bar   melon
5  foo  papaya

【讨论】:

    猜你喜欢
    • 2020-05-29
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 2021-10-21
    相关资源
    最近更新 更多