1
这可能是一个愚蠢的问题,但我一直在尝试一段时间,我似乎无法让它工作。熊猫应用返回矩阵而不是单列
我有一个数据帧:
df1 = pd.DataFrame({'Type': ['A','A', 'B', 'F', 'C', 'G', 'A', 'E'], 'Other': [999., 999., 999., 999., 999., 999., 999., 999.]})
我现在想创建基于列Type
新列。为此,我有第二个数据帧:
df2 = pd.DataFrame({'Type':['A','B','C','D','E','F', 'G'],'Value':[1, 1, 2, 3, 4, 4, 5]})
我用作查找表。
当我尝试类似:
df1.apply(lambda x: df2.Value[df2.Type == x['Type']],axis=1)
我得到一个矩阵,而不是单个列:
Out[21]:
0 1 2 4 5 6
0 1 NaN NaN NaN NaN NaN
1 1 NaN NaN NaN NaN NaN
2 NaN 1 NaN NaN NaN NaN
3 NaN NaN NaN NaN 4 NaN
4 NaN NaN 2 NaN NaN NaN
5 NaN NaN NaN NaN NaN 5
6 1 NaN NaN NaN NaN NaN
7 NaN NaN NaN 4 NaN NaN
什么,但是我想是这样的:
0
0 1
1 1
2 1
3 4
4 2
5 5
6 1
7 4
什么时我做错了?
完美,非常感谢! – petetheat
完成!再次感谢 – petetheat