首页 > 后端开发 > Python教程 > 如何在 Pandas 中创建具有基于条件的值的新列?

如何在 Pandas 中创建具有基于条件的值的新列?

Barbara Streisand
发布: 2024-12-22 16:56:10
原创
451 人浏览过

How to Create a New Column with Condition-Based Values in Pandas?

使用基于条件的值创建新列

此问题探讨如何向给定数据帧添加新列、颜色。条件是如果 Set 列中的相应值为“Z”,则颜色应设置为“绿色”,否则应设置为“红色”。

使用 Numpy 的解决方案其中:

对于只有两个选择的场景,可以使用 np.where 方法。代码如下:

df['color'] = np.where(df['Set'] == 'Z', 'green', 'red')
登录后复制

此方法有效地将“绿色”分配给 Set 为“Z”的行,否则分配“红色”。

使用 Numpy Select 的解决方案:

如果有两个以上条件,可以使用 np.select。假设颜色应满足以下条件:

  • 当 Set 为“Z”且 Type 为“A”时为“黄色”
  • 当 Set 为“Z”且 Type 时为“蓝色”当类型为“B”
  • “黑色”时,为“B”
  • “紫色”否则

在这种情况下,代码将为:

conditions = [
    (df['Set'] == 'Z') & (df['Type'] == 'A'),
    (df['Set'] == 'Z') & (df['Type'] == 'B'),
    (df['Type'] == 'B')]
choices = ['yellow', 'blue', 'purple']
df['color'] = np.select(conditions, choices, default='black')
登录后复制

此解决方案允许为新列进行灵活且精细的基于条件的值分配。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板