在 pandas/Python 中,对于 question_id = 3 和 selected_reponse = 'Tertiary/University Postgraduate' 的每一行,我想为每个 user_id 填充一个名为“Tertiary”的新列,其中“是”或“否”。
不确定执行此操作的最佳方法。非常感激任何的帮助。
在 pandas/Python 中,对于 question_id = 3 和 selected_reponse = 'Tertiary/University Postgraduate' 的每一行,我想为每个 user_id 填充一个名为“Tertiary”的新列,其中“是”或“否”。
不确定执行此操作的最佳方法。非常感激任何的帮助。
我认为这里没有必要设置每个值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')