根据键的值计算键的 Pandas 数据框列

Calculated Pandas dataframe column for a key, based on the value of a key

在 pandas/Python 中,对于 question_id = 3 和 selected_reponse = 'Tertiary/University Postgraduate' 的每一行,我想填充一个名为 'Tertiary' 的新列'Yes' 或 'No',每个 user_id.

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

我认为这里没有必要设置每个 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')