the name data columns column change pandas subtract

data - pandas series name



restando dos marcos de datos (2)

df1:

City, 2015-12-31, 2016-01-31, ... YYZ 562.14, -701.18, ... DFW 562.14, -701.18, ... YYC 562.14, -701.18, ...

df2:

City, 2015-12-31, 2016-01-31, ... SFO 562.14, -701.18, ... PDX 562.14, -701.18, ... LAX 562.14, -701.18, ...

Quiero restar df1 de df2. es decir, restar valores en las respectivas columnas de fecha.

Intenté lo siguiente:

df2.subtract(df1, fill_value=0)

Pero recibo el siguiente error:

TypeError: unsupported operand type(s) for -: ''str'' and ''float''

Creo que el error se debe a que la operación no puede entender cómo restar cadenas en la columna Ciudad, lo que obviamente tiene sentido ya que restar las Ciudades no tiene sentido.

La respuesta aceptada en esta publicación [enlace] parece sugerir que esto es posible. Soy el autor de esa pregunta, pero parece que no puedo hacer que funcione ahora.


¿Esto funciona?

df2.drop([''City'']).subtract(df1.drop([''City'']))


Mueva la columna Ciudad al índice. Los DataFrames se alinearán primero por índice y columnas y luego se restarán. Cualquier combinación que no esté presente dará como resultado NaN .

df2.set_index(''City'').subtract(df1.set_index(''City''), fill_value=0)