我有多个数据帧,比如df_0,df_1,dg_0,dg_1,具有相同的索引和列
乙二醇
df_0=pd.DataFrame({"A":[0,1,2],"B":[3,3,0]})
df_1=pd.DataFrame({"A":[3,5,1],"B":[2,1,1]})
dg_0=pd.DataFrame({"A":['a','b','c'],"B":['d','e','f']})
dg_1=pd.DataFrame({"A":['g','h','i'],"B":['j','k','l']})
我想根据df_0还是df_1更大,在dg_0和dg_1之间进行选择
因此,最终输出应为:
df_out=pd.DataFrame({"A":['g','h','c'],"B":['d','e','l']})
作为中间步骤,我可以将dh定义为df_0和df_1的idxmax,在本例中应为:
dh=pd.DataFrame({"A":[1,1,0],"B":[0,0,1]})
然后尝试使用dh在dg_0和dg_1之间进行选择
我认为这有助于创建dh:
dh=pd.concat([df_0,df_1],axis=1,keys=['0','1']).groupby(levels=1).idxmax().applymap(lambda x:x[0])
但是我很难弄明白怎么把DFU弄出来。非常感谢您的建议
您可以使用熊猫^{} 和^{} :
输出:
要使其可扩展到多个数据帧和列,请执行以下操作:
它们的输出与原始答案相同
相关问题 更多 >
编程相关推荐