【问题标题】:Scanning Multiple Column values to create new Column with True or False Value扫描多个列值以创建具有 True 或 False 值的新列
【发布时间】:2020-12-27 04:54:06
【问题描述】:

我的代码如下,

df['New_Column'] = df[['On Night Shift?']].apply(lambda x: any(x == 'Yes'), axis = 1)

如果 On Night Shift 的列值在新列中给出 True 或 False 值?是的,如果我想扫描多个不同的列是否为否,我将如何调整此代码?

类似下面的代码,

df['New_Column'] = df[['On Night Shift?']].apply(lambda x: any(x == 'No'), axis = 1)

除了我想查看 On Day Shift?, On Mid Shift, On Weekend Shift? p>

谢谢!

【问题讨论】:

    标签: python python-3.x pandas data-science


    【解决方案1】:

    试试这个:

    np.random.seed(1)
    df = pd.DataFrame({'Number':np.arange(10), 'Day Shift':np.random.choice(['Yes', 'No'], 10),
                      'On Mid Shift':np.random.choice(['Yes', 'No'], 10),
                      'On Weekend Shift':np.random.choice(['Yes', 'No'], 10)})
    
    df['No shifts'] = (df[['Day Shift', 'On Mid Shift', 'On Weekend Shift']] == 'No').all(axis=1)
    print(df)
    

    输出:

       Number Day Shift On Mid Shift On Weekend Shift  No shifts
    0       0        No          Yes              Yes      False
    1       1        No           No               No       True
    2       2       Yes          Yes              Yes      False
    3       3       Yes           No              Yes      False
    4       4        No           No               No       True
    5       5        No          Yes              Yes      False
    6       6        No          Yes              Yes      False
    7       7        No           No              Yes      False
    8       8        No          Yes               No      False
    9       9       Yes          Yes              Yes      False
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 2019-01-14
      • 1970-01-01
      • 2012-03-05
      • 2019-07-24
      相关资源
      最近更新 更多