首页 >后端开发 >Python教程 >如何在 Pandas 中基于 If-Else-Else 条件创建列?

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

DDD
DDD原创
2024-10-20 06:55:29267浏览

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

在 Pandas 中创建具有 If-Else-Else 条件的列

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

非向量化方法

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

<code class="python">def f(row):
    if row['A'] == row['B']:
        val = 0
    elif row['A'] > row['B']:
        val = 1
    else:
        val = -1
    return val</code>

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

<code class="python">df['C'] = df.apply(f, axis=1)</code>

矢量化方法

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

<code class="python">df['C'] = np.where(
    df['A'] == df['B'], 0, np.where(
    df['A'] >  df['B'], 1, -1)) </code>

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

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

输入数据帧

A B
2 2
3 1
1 3

输出数据帧

A B C
2 2 0
3 1 1
1 3 -1

以上是如何在 Pandas 中基于 If-Else-Else 条件创建列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn