Pandas mathematical operation, conditional on column value

前端 未结 5 1234
自闭症患者
自闭症患者 2021-01-19 08:51

I need to make a mathematical operation which is conditional on the value in a second column. Here is the setup.

Given a simple dataframe (df):

5条回答
  •  感情败类
    2021-01-19 09:15

    Use:(Not a safe way to achieve it see the comment below )

    df['New']=df.col3[df.col1=='B']+10
    df
    Out[11]: 
      col1  col2  col3   New
    0    A     2     0   NaN
    1    A     1     1   NaN
    2    B     9     9  19.0
    3  NaN     8     4   NaN
    4    D     7     2   NaN
    5    C     4     3   NaN
    

    Update

    pd.concat([df,(df.col3[df.col1=='B']+10).to_frame('New')],1)
    Out[51]: 
      col1  col2  col3   New
    0    A     2     0   NaN
    1    A     1     1   NaN
    2    B     9     9  19.0
    3  NaN     8     4   NaN
    4    D     7     2   NaN
    5    C     4     3   NaN
    

提交回复
热议问题