【问题标题】:how to replace string in dataframe on specific column and row?如何在特定列和行的数据框中替换字符串?
【发布时间】:2022-01-24 23:57:20
【问题描述】:
pandas.DataFrame
({"POC":['K3525','P022','P0025'],
"AREA":['3','',''],
"COUNTRIES":['KR,US,MO','MY,IN,ZW,KR,US','VN,UK,ZW']})
POC AREA COUNTRIES
K3525 3 KR,US,MO
PO22 MY,IN,ZW,KR,US
P0025 VN,UK,ZW

在这个DataFrame中,我想在一个数据(行索引是'P0025',列是'COUNTRIES')处将',ZW'或'ZW'替换为''(我的意思是删除它)

我搜索了它,但我找不到任何设置列和行的方法。 我发现了类似的东西

df.replace({'COUNTRIES': {',ZW':'', 'ZW,':''}})

但此方法会删除 COUNTRIES 列中的所有“ZW”。

想要的结果是

POC AREA COUNTRIES
K3525 3 KR,US,MO
PO22 MY,IN,ZW,KR,US
P0025 VN,UK

不想要的结果是

POC AREA COUNTRIES
K3525 3 KR,US,MO
PO22 MY,IN,KR,US
P0025 VN,UK

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    用途:

    m = df['POC'].eq('P0025')
    
    df[m] = df[m].replace({'COUNTRIES': {',ZW':'', 'ZW,':''}})
    

    或者:

     df.loc[m, 'COUNTRIES'] = df.loc[m, 'COUNTRIES'].replace({',ZW':'', 'ZW,':''})
    

    【讨论】:

    • 我试过了,但 ',ZW' 没有被删除:( ......我不知道为什么它不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2015-02-15
    相关资源
    最近更新 更多