如何实现条件列创建:探索 Pandas DataFrame 中的 If-Elif-Else?

Susan Sarandon
发布: 2024-10-20 06:52:29
原创
733 人浏览过

How to Achieve Conditional Column Creation: Exploring If-Elif-Else in Pandas DataFrame?

创建条件列:Pandas 中的 If-Elif-Else

给定的问题要求将新列添加到 DataFrame 中基于一系列条件标准。挑战在于在实现这些条件的同时保持代码效率和可读性。

使用函数应用程序的解决方案

一种方法涉及创建一个将每一行映射到所需结果的函数基于条件:

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

df['C'] = df.apply(f, axis=1)</code>
登录后复制

此方法可读且易于实现,但它不是矢量化的,可能会导致大型数据集的性能问题。

矢量化解决方案

为了提高效率,建议使用 NumPy 的 np.where 函数的矢量化方法:

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

此操作在 DataFrame 上按元素执行条件选择,从而产生一个新列与所需的值。

与基于函数的方法相比,这种矢量化方法提供了显着的性能优势。它还允许更简洁和可读地实现条件标准。

以上是如何实现条件列创建:探索 Pandas DataFrame 中的 If-Elif-Else?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!