比较两个数据帧//将一个数据帧与另一个数据帧解密
大家好,谢谢你们的帮助
我有两个数据帧。第一个(df1)包含我的所有数据,包括一列缩写(df1[ab]),我希望通过第二个数据帧(df2)将其转换为数字。df2包含两列,一列使用相同的缩写(df2[key]),另一列使用相关的数字(df2[value])
我的目标是使用第二个数据帧作为第一个数据帧的解密工具。我想将df1[ab]与df2[key]进行比较,并在df1中创建一个新列,该列按正确的顺序包含来自df2[value]的正确数字。因为真正的缩写列表很长,我不想用大量的“if语句”来完成这项任务
例如:
import pandas as pd
import numpy as np
abbreviations = ["Sl2","Sl4","Ss","Tu4","Slu","Su2/Su3","Ut2", "Ss","Sl2","Slu","Slu"]
dictab = {"ab": abbreviations}
df1 = pd.DataFrame(dictab)
key = ["Ss","Sl2","Sl3","Sl4","Slu"]
value = [11,25,27,30,33]
dictkv = {"key":key, "value":value}
df2 = pd.DataFrame(dictkv)
因此,df1应包含一个新列df1[result],该列应按以下顺序包含以下值:
print(df1)
ab result
0 Sl2 25
1 Sl4 30
2 Ss 11
3 Tu4 NaN
4 Slu 33
5 Su2/Su3 NaN
6 Ut2 NaN
7 Ss 11
8 Sl2 25
9 Slu 33
10 Slu 33
任何帮助都将不胜感激
干杯,Jato
如果您只需要附加列:
输出
如果需要匹配数组,请执行以下操作:
输出
相关问题 更多 >
编程相关推荐