【问题标题】:Replace a value in a pandas dataframe替换熊猫数据框中的值
【发布时间】:2019-02-02 19:53:57
【问题描述】:

我有一个 pandas 数据框,我想替换值

    itemsets = [["26"], ["51", "28", "27"], ["50"], ["8"], ["81","26", 
    15"], ["10"], ["81"]]

    support = [0.06421, 0.00123, 0.04112, 0.0112, 0.12097, 0.08123, 
    0.0021334]

    df = pd.DataFrame()
    df["itemsets"]= itemsets
    df["support"] = support

我试过了

    df.replace("26","dog")

我会得到这个结果:

        Itemsets        support 
    0   [dog]    
    1   [51, 28, 27]    0.5
    2   [50]            0.4
    3   [8]             0.1
    4   [81,dog ,15]    0.9
    5   [10]            0.6
    6   [81]            0.4

【问题讨论】:

    标签: python pandas numpy dataframe replace


    【解决方案1】:

    为替换创建字典,然后使用带有get 的嵌套列表理解 - 如果不匹配的值返回旧值:

    d = {'26':'dog'}
    df["itemsets"] = [[d.get(y, y) for y in x] for x in df['itemsets']]
    print (df)
            itemsets
    0          [dog]
    1   [51, 28, 27]
    2           [50]
    3            [8]
    4  [81, dog, 15]
    5           [10]
    6           [81]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-29
      • 2022-06-24
      • 2022-01-11
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 2018-08-16
      相关资源
      最近更新 更多