账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python pandas 新增列用if else 根据其他列条件进行赋值
    80
    0
    R语言转成python. 求助R 语言如下SingleMstepResult['ratio'] = ifelse(SingleMstepResult['P90']>SingleMstepResult['refUL'], SingleMstepResult['P90']/SingleMstepResult['refUL']-1, 1-SingleMstepResult['P10']/SingleMstepResult['refLL'])Python 写成下面的不对SingleMstepResult['ratio'] = (SingleMstepResult['P90']/SingleMstepResult['refUL']-1) if (SingleMstepResult['P90']>SingleMstepResult['refUL']) else (SingleMstepResult['P10']/SingleMstepResult['refLL'])
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 软killer 普通会员 1楼

      在Pandas中,你可以使用if-else语句来添加新的列。下面是一个例子:

      ```python import pandas as pd

      假设我们有一个DataFrame df

      df = pd.DataFrame({ 'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'two', 'one', 'three', 'one', 'two'], 'C': ['x', 'y', 'z', 'a', 'b', 'c'] })

      我们想要添加一个新的列D,如果B列的值为'one',则赋值为'two',否则赋值为'three'

      df['D'] = df['B'].apply(lambda x: if df['B'].str.contains('one') else df['B'].str.contains('two'))

      print(df) ```

      在这个例子中,我们首先创建了一个包含三个列的DataFrame。然后,我们使用apply函数和lambda表达式来添加一个新的列D。如果B列的值为'one',那么df['D']的值将被设置为'done',否则df['D']的值将被设置为'two'。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部