我有两个数据框需要按如下方式合并:
Df1
Name Type Speed
a x 1
a y 0
a z 1
Df2
Type Fast Slow
x 2 3
y 3 5
z 4 6
Df3 - 期望的结果
Name Type Speed Time
a x 1 2
a y 0 5
a z 1 4
所以基本上我需要创建一个新的 'Time'
列来显示基于 'Fast'
或 'Slow'
列的时间在 'Speed'
列和对象 'Type'
上。我真的不知道该怎么做,所以任何帮助将不胜感激!提前致谢。为令人困惑的解释道歉..
最佳答案
使用merge
+ np.where
获得更简洁的解决方案:
v = df1.merge(df2, on=['Type'])
v['Time'] = np.where(v['Speed'], v.pop('Fast'), v.pop('Slow'))
Name Type Speed Time
0 a x 1 2
1 a y 0 5
2 a z 1 4
关于python - 使用附加条件合并两个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52070949/