【问题标题】:Replacing string or object in pandas替换熊猫中的字符串或对象
【发布时间】:2019-09-21 06:06:40
【问题描述】:

我正在设置一个按地区划分的数据框,并按国家/地区提供我的数据。我正在尝试将各个国家/地区放在一个桶中,该桶将在另一列中自动填充该区域。

我遇到的一个问题是重命名(或替换)值

这是我尝试替换的值的示例

  1. 国家(给定;需要替换)

    • 德国海关
    • 科特迪瓦
  2. 首选值

    • 德国
    • 科特迪瓦

我正在运行 Spyder(最新版本)并使用 Pandas 进行操作

我第一次使用了下面的函数但是没有成功


DFColumn['Country'].replace("Cote d'Ivoire", 'Cote dIvoire')

在此之后,我尝试将对象 dtype 转换为字符串值。还是没有骰子

DFColumn['Country'].astype(str)

DFColumn['Country'].str.replace("Cote d'Ivoire", 'Cote dIvoire')

我有什么想法或其他方法可以尝试吗?

【问题讨论】:

  • DFColumn['Country'].replace("Cote d'Ivoire", 'Cote dIvoire') 应该可以工作,但您需要将其分配给列:DFColumn['Country'] = DFColumn['Country'].replace("Cote d'Ivoire", 'Cote dIvoire')

标签: python string pandas replace rename


【解决方案1】:

您可以使用字典替换多个值

nametoreplace= {
              "Cote d'Ivoire":"Cote dIvoire",
              "Germany Customs": "Germany"
               }

DFColumn['Country']=DFColumn['Country'].replace(nametoreplace)

【讨论】:

    【解决方案2】:

    这是我使用 pandas 对单个列进行大规模替换的方法

    df.Country = df.Country.replace({"Cote d'Ivoire": "Cote dIvoire","Germany Customs": "Germany"})
    

    【讨论】:

      猜你喜欢
      • 2018-07-10
      • 2019-06-03
      • 2019-01-08
      • 2017-03-12
      • 2019-11-23
      • 2019-02-06
      • 1970-01-01
      • 2021-09-07
      相关资源
      最近更新 更多