根据现有列值创建条件列
在数据分析中,经常需要创建根据条件确定值的新列从现有列派生。考虑这样的场景:您有一个包含两列的 DataFrame:“类型”和“设置”,并且您想要添加一个名为“颜色”且遵循特定规则的新列。
添加颜色列基于设置值
要创建一个“颜色”列,其中如果“设置”为“Z”,则值为“绿色”,否则为“红色”,您可以使用以下方法:
import numpy as np df['color'] = np.where(df['Set'] == 'Z', 'green', 'red')
此代码使用 np.where 函数,该函数根据条件选择值。如果“设置”列值为“Z”,则“颜色”值变为“绿色”;否则,它会变成“红色”。
使用 np.select 处理更复杂的条件
对于有多个条件的更复杂场景,可以使用 np.select 。例如,假设您要根据以下规则分配颜色:
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中文网其他相关文章!