【问题标题】:How to replace several values of a column using lists in python如何使用python中的列表替换列的多个值
【发布时间】:2021-07-11 11:13:35
【问题描述】:

我有一个数据框名称“detalhe”,其中包含几列,其中一列名为:“Concelho”。 我有一个名为“Concelho ADENE”的“Concelho”唯一值列表,我想用一个名为“INE”的不同列表替换每个出现的值。

    Concelho ADENE  INE
0   ABRANTES    Abrantes
1   AGUEDA  Águeda
2   AGUIAR DA BEIRA Aguiar da Beira
3   ALANDROAL   Alandroal
4   ALBERGARIA-A-VELHA  Albergaria-a-Velha
... ... ...
284 VIMIOSO Vimioso
285 VINHAIS Vinhais

两个列表具有相同的长度并且每个入口都对应(它们是按字母数字排序的) (我还有一个 csv 文件,其中两个列表都是 2 个平行列。)

我试过了:

detalhe= pd.read_csv('Detalhe.csv')
detalhe['Concelho'].replace(Concelho ADENE,INE)
detalhe

AttributeError: 'Series' object has no attribute '_replace_columnwise'

【问题讨论】:

    标签: python list replace


    【解决方案1】:

    您能否提供一个示例代码(如下所示)来检查以重现该场景?使用列表替换工作正常

    df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
                       'B': [5, 6, 7, 8, 9],
                       'C': ['a', 'b', 'c', 'd', 'e']})                  
    print(df)
    print("-----------")
    
    init = [7,6,9]
    final = [17,16,19]
    df.B.replace(init,final,inplace=True)
    print(df)
    

    输出:

    A  B  C
    0  0  5  a
    1  1  6  b
    2  2  7  c
    3  3  8  d
    4  4  9  e
    -----------
    A   B  C
    0  0   5  a
    1  1  16  b
    2  2  17  c
    3  3   8  d
    4  4  19  e
    

    【讨论】:

    • 我的错误只是没有使用 Inplace=True... TY!!
    猜你喜欢
    • 2022-11-10
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2021-06-29
    • 2020-06-23
    • 2015-07-13
    • 1970-01-01
    相关资源
    最近更新 更多