”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 Pandas 中基于 If-Else-Else 条件创建列?

如何在 Pandas 中基于 If-Else-Else 条件创建列?

发布于2024-11-09
浏览:279

How to Create a Column Based on If-Else-Else Conditions in Pandas?

在 Pandas 中使用 If-Else-Else 条件创建列

根据 if-elif-else 条件创建新列,有两种主要方法:

非向量化方法

这种方法涉及定义一个对行进行操作的函数:

def f(row):
    if row['A'] == row['B']:
        val = 0
    elif row['A'] > row['B']:
        val = 1
    else:
        val = -1
    return val

然后,将其沿行应用于数据框:

df['C'] = df.apply(f, axis=1)

矢量化方法

矢量化方法利用 np.where 直接创建新列:

df['C'] = np.where(
    df['A'] == df['B'], 0, np.where(
    df['A'] >  df['B'], 1, -1)) 

此方法对于大型数据集更有效。

这是使用提供的数据帧的示例:

输入数据帧

AB
22
31
13

输出数据帧

ABC
220
311
13-1
版本声明 本文转载于:1729378457如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3