首页 > 后端开发 > Python教程 > 如何根据现有列值在 DataFrame 中创建条件列?

如何根据现有列值在 DataFrame 中创建条件列?

Barbara Streisand
发布: 2024-12-21 07:27:09
原创
672 人浏览过

How Can I Create Conditional Columns in a DataFrame Based on Existing Column Values?

根据现有列值创建条件列

在数据分析中,经常需要创建根据条件确定值的新列从现有列派生。考虑这样的场景:您有一个包含两列的 DataFrame:“类型”和“设置”,并且您想要添加一个名为“颜色”且遵循特定规则的新列。

添加颜色列基于设置值

要创建一个“颜色”列,其中如果“设置”为“Z”,则值为“绿色”,否则为“红色”,您可以使用以下方法:

import numpy as np

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

此代码使用 np.where 函数,该函数根据条件选择值。如果“设置”列值为“Z”,则“颜色”值变为“绿色”;否则,它会变成“红色”。

使用 np.select 处理更复杂的条件

对于有多个条件的更复杂场景,可以使用 np.select 。例如,假设您要根据以下规则分配颜色:

  • 如果“Set”为“Z”且“Type”为“A”,则为“黄色”
  • 如果“Set”是“Z”且“Type”是“B”,则为“蓝色”
  • 如果“Type”为“紫色” "B"
  • "black" 否则
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')
登录后复制

np.select 函数采用条件列表和相应的选择列表。如果满足条件,则选择相关选项;否则,使用默认值。

这些方法提供了多种选项,用于根据现有列值创建条件列,使您能够有效地操作和分析数据。

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

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