我需要比较多个df,但是收集数据的方式是一个df有25列,另外有20列。请记住,列标签名称是相同的(df的25列中有20列)。
我不知道如何从df_cont中删除列,如果它们不存在于df_red中,并且不包含df_red中的列,而这些列目前不是df_cont
df_cont A B C D E F
01-01-2019 1 2 3 4 5 5
02-01-2019 1 3 4 4 6 5
df_red A B D F G
01-01-2019 2 5 6 4 3
02-01-2019 2 5 6 4 3
代码:
df_cont1 = df_cont.query(df_cont.columns == df_red.columns)
预期:
df_cont1 A B D F
01-01-2019 1 2 4 5
02-01-2019 1 3 4 5
答案 0 :(得分:1)
如@busybear所述,您可以使用
df_cont = df_cont[df_red.columns]
在您的特殊情况下。
如果您不知道哪个DataFrame更大,则此替代解决方案会更安全一些:
df_cont[df_cont.columns.intersection(df_red.columns)]