我有一个带有Teacher_ID和Student_ID列的pandas DataFrame。我还有每个TDict和SDict的词汇,比如每个老师教的年级和每个学生注册的成绩,以他们的ID号作为关键。
我想在我的DataFrame中创建一个新列,引用dicts中的信息。但是当我尝试创建一个类似于TDict [Teacher_ID] + SDict [Student_ID]的公式的列时,我收到一条错误消息,告诉我"'系列'对象是可变的,因此它们不能被散列。"
批准的方式是什么?我是否必须将ID复制到新列中,用dict值替换这些列中的值,然后从那里开始工作?我猜测那里有更好的方法......
答案 0 :(得分:1)
如果我理解正确,那么您只需致电map
:
df['Teaching_grade'] = df['Teacher_ID'].map(TDict)
df['Student_grade'] = df['Student_ID'].map(SDict)
这将执行查找并将值分配给新列