代码之家  ›  专栏  ›  技术社区  ›  Madhur Yadav

在pandas中使用特定条件剪裁值

  •  0
  • Madhur Yadav  · 技术社区  · 6 年前

    我有一个数据框,看起来像-

    data = {'col_0': ['a', 'a', 'a', 'a', 'b','b','b'], 'col_1': [-2, -7, 6, 8, -5, 2, 6]}
    df = pd.DataFrame(data)
    df
    
    col_0   col_1
    a       -2
    a       -7
    a        6
    a        8
    b       -5
    b        2
    b        6
    

    如果col_0是a,我想要的是将col_1的值剪裁在-2到2之间。

    我到现在为止尝试过的事情-

    df.loc[df['col_0']=='a',"col_1"].clip(lower = -2, upper = 2,inplace=True) 
    
    df.loc[df['col_0']=='a',"col_1"] = df.loc[df['col_0']=='a',"col_1"].clip(lower = -2, upper = 2) 
    
    0 回复  |  直到 6 年前
        1
  •  1
  •   Madhur Yadav    6 年前

    df。loc[df['col_0']='a',“col_1”]=df。loc[df['col_0']='a',“col_1”]。夹子(下=2,上=2)