【问题标题】:Calculated Pandas dataframe column for a key, based on the value of a key根据键的值计算键的 Pandas 数据框列
【发布时间】:2021-06-22 04:28:18
【问题描述】:

在 pandas/Python 中,对于 question_id = 3 和 selected_reponse = 'Tertiary/University Postgraduate' 的每一行,我想为每个 user_id 填充一个名为“Tertiary”的新列,其中“是”或“否”。

不确定执行此操作的最佳方法。任何帮助将不胜感激。

【问题讨论】:

    标签: python pandas calculated-columns


    【解决方案1】:

    我认为这里没有必要为每个 user_id 设置值,所以使用带有掩码的 numpy.where

    mask = (df.question_id == 3) & (df.selected_reponse == 'Tertiary/University Postgraduate')
    
    df['Tertiary'] = np.where(mask, 'Yes', 'No')
    

    但如果需要将Yes 设置为每组的所有行,如果匹配mask 使用:

    df['Tertiary'] = np.where(mask.groupby(df['user_id']).transform('any'), 'Yes', 'No')
    

    【讨论】:

    • 如此简单 - 我不敢相信我错过了分组。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 2021-12-06
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 2022-10-30
    相关资源
    最近更新 更多