【问题标题】:Update values in pandas dataframe更新熊猫数据框中的值
【发布时间】:2017-03-23 01:14:26
【问题描述】:

我想更新我的数据框中的字段:

df = pd.DataFrame([
    {'Name': 'Paul', 'Book': 'Plane', 'Cost': 22.50},
    {'Name': 'Jean', 'Book': 'Harry Potter', 'Cost': 2.50},
    {'Name': 'Jim', 'Book': 'Sponge bob', 'Cost': 5.00}
])

          Book  Cost  Name
0         Plane  22.5  Paul
1  Harry Potter   2.5  Jean
2    Sponge bob   5.0   Jim

用这个字符串改变名字:

{"Paul": "Paula", "Jim": "Jimmy"}

得到这个结果:

          Book  Cost  Name
0         Plane  22.5  Paula
1  Harry Potter   2.5  Jean
2    Sponge bob   5.0   Jimmy

有什么想法吗?

【问题讨论】:

    标签: python pandas dictionary dataframe replace


    【解决方案1】:

    我认为你需要replace by dictionary d:

    d = {"Paul": "Paula", "Jim": "Jimmy"}
    df.Name = df.Name.replace(d)
    print (df)
               Book  Cost   Name
    0         Plane  22.5  Paula
    1  Harry Potter   2.5   Jean
    2    Sponge bob   5.0  Jimmy
    

    mapcombine_first - map 在不匹配的情况下返回 NaN 的另一种解决方案,因此需要将其替换为原始值:

    df.Name = df.Name.map(d).combine_first(df.Name)
    print (df)
               Book  Cost   Name
    0         Plane  22.5  Paula
    1  Harry Potter   2.5   Jean
    2    Sponge bob   5.0  Jimmy
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-25
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 2018-02-13
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      相关资源
      最近更新 更多