【发布时间】:2019-11-28 20:19:24
【问题描述】:
我基本上有一列我想检查是否有效的值。我想创建一个新列,以返回 true 或 false 的有效性。当在另外两列的查找中找到这些值时,这些值是有效的,这两列包括字典的键和值。
在这里,我的价值观是考试。 EXAM 仅在他们登陆评分站点或可以评分的DBN 时才有效,例如,如果 11X000 可以在数学上得分,而这是在 11X000 登陆的数学考试,它是 Valid Site。
查看屏幕截图,第一张图片是我试图在 Python 中复制的内容,第二张图片是字典。
在我的代码中,我为{site:exam} 制作了一个字典,并尝试检查所有给定记录的有效性。
Sites_To_Exams_Dict = Sites_To_Exams_df.groupby('DBN')['ALL EXAMS'].apply(list).to_dict()
MaterialsReport_df['Valid Site'] = np.where(MaterialsTracking_df['EXAM'] in Sites_To_Exams_Dict.get(MaterialsReport_df['Scoring Site Including X']),
"Y", "N")
不幸的是,这给出了错误
TypeError: 'Series' objects are mutable, thus they cannot be hashed
我将不胜感激以上代码的任何不同方法或错误修复。谢谢!
【问题讨论】:
-
从您的描述中,您要尝试做什么并不完全清楚。请参阅How to create good pandas examples 并在问题的文本中提供示例输入和输出,而不是图片