我有两个数据帧。一个包含学生批次详细信息,另一个包含分数。我想加入2个数据帧。你知道吗
Dataframe1包含
+-------+-------+-------+--+
| s1 | s2 | s3 | |
+-------+-------+-------+--+
| Stud1 | Stud2 | Stud3 | |
| Stud2 | Stud4 | Stud1 | |
| Stud1 | Stud3 | Stud4 | |
+-------+-------+-------+--+
Dataframe2包含
+-------+-------+----------+--+
| Name | Point | Category | |
+-------+-------+----------+--+
| Stud1 | 90 | Good | |
| Stud2 | 80 | Average | |
| Stud3 | 95 | Good | |
| Stud4 | 55 | Poor | |
+-------+-------+----------+
我试着为每个学生在同一个数据集中绘制标记。你知道吗
+-------+-------+-------+----+----+----+
| Stud1 | Stud2 | Stud3 | 90 | 80 | 95 |
| Stud2 | Stud4 | Stud1 | 80 | 55 | 90 |
| Stud1 | Stud3 | Stud4 | 90 | 95 | 55 |
+-------+-------+-------+----+----+----+
我尝试了下面的代码,但它正在逐个替换这些值。你知道吗
s = df3['p1'].map(dfnamepoints.set_index('name')['points'])
df4 = df3.drop('p1', 1).assign(points = s)
如果
df3
中的所有值都存在于Name
列中,则解决方案的工作原理相同:或:
或:
如果不存在,则输出不同-对于不存在的值(
Stud1
)获取NaN
s:对于
replace
获取原始值:或者,在创建
df2
的2个相关列的字典之后,可以使用df.replace()
:输出:
相关问题 更多 >
编程相关推荐