首页 >后端开发 >Python教程 >如何使用 Python 在 DataFrame 中创建基于多个条件的条件列?

如何使用 Python 在 DataFrame 中创建基于多个条件的条件列?

Linda Hamilton
Linda Hamilton原创
2024-10-20 06:52:02762浏览

How to Create a Conditional Column Based on Multiple Conditions in a DataFrame Using Python?

根据多个条件创建条件列

如给定线程中所述,当前的任务是在基于特定条件的 DataFrame。 DataFrame 包含两列“A”和“B”,应根据“A”和“B”之间的比较来为所需列“C”分配值。

条件如下:

  • 如果 'A' 等于 'B',则将 'C' 设置为 0。
  • 如果 'A' 大于 'B',则将 'C' 设置为 1。
  • 如果 'A' 小于 'B',则将 'C' 设置为 -1。

要完成此操作,可以创建一个 Python 函数来评估条件并分配为 DataFrame 中的每一行设置适当的值“C”。 apply() 方法可用于将函数应用于每一行,传入 'axis=1' 参数以指定函数应对行进行操作。下面的代码演示了这种方法:

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

df['C'] = df.apply(conditional_value, axis=1)</code>

这种基于函数的方法提供了一种可读且可自定义的方式来创建条件列。

或者,为了在大型数据集上获得更好的性能,可以使用矢量化方法可以使用操作:

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

这里使用np.where()函数来评估条件并高效地将相应的值赋给'C'。

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

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