我有一只大熊猫df,有用户及其对调查的答案和分数,例如
Userid incomebracket insurance-knowledge..... score
123 3 3 56
346 4 6 65
假设收入支架有6个等级,1:1000-5000,6:100000 +,同样保险知识有6个等级(1:非常少到6个:专家)
现在我有另一个具有用户配置文件功能的df 用户ID,年龄,性别,教育......(10个这样的特征)
现在我遍历一组用户(第一个df
)并且每个用户想要获得具有相同用户个人资料但在第一个{{1}的每一列上有更高答案的其他用户的整个子集,收入说。我使用以下说法为3个配置文件功能,如年龄,性别和教育
df
虽然这有效,但这里的配置文件功能是硬编码的,对于更长的条件是一个问题,我想要的是 获取所有10个具有相同配置文件但具有更高答案的用户子集,如果您没有获得任何此类记录(可能),则减少到9个功能,然后减少到8,7 ..... 2(最重要的特征说年龄性别)。我的伪代码应该是这样的
df_sameusergroup=df[(df['PPGENDER']==sameuser_gender.values[0])
& (df['EDUC']==sameuser_educ.values[0])
& (df['age']==sameuser_agecat.values[0])
& (df['incomebracket']>user_feature.values[0])]
我一直试图这样做,并一直在寻找解决方案。任何帮助将不胜感激。感谢。