首页 > 解决方案 > 创建一个基于 If/Else 的列,其中包含每个条件的字符串值列表

问题描述

我正在尝试对 UFO 瞄准数据集中的形状组进行编码,以尝试提高模型准确性,但我不确定如何使用列表作为每次转换的条件。下面是代码。

def shape_group(val):
      if val == ['changed' | 'changing'| 'unknown' |'unspecified' | 'other']: # Uncertain
         return 1
      else:
          return 0

它是一个简化版本,但想法就在那里。我最初尝试过:

 if val == ['changed' , 'changing', 'unknown' ,'unspecified' , 'other']

no_nan_df['shape_group'] = no_nan_df['shape'].apply(shape_type)

不返回匹配项

谢谢!

标签: pythonpandasif-statement

解决方案


您可以使用以下内容:

def shape_group(val):
      if val in ['changed', 'changing', 'unknown' , 'unspecified', 'other']: # Uncertain
         return 1
      return 0

这会非常快。在上述情况下也不需要“else”。


推荐阅读