Obtenga la resta de dataframe y otros elementos por elemento (operador binario sub).
Equivalente a dataframe-other
, pero con soporte para sustituir un fill_value por los datos faltantes en una de las entradas. Con versión inversa, rsub.
Entre envoltorios flexibles (agregar, sub, mul, div, modificación, pow) a los operadores aritméticos: +, –, *, /, //, %, **.
- Parámetros
-
- otro : escalar, secuencia, serie o marco de datos
-
Cualquier estructura de datos de uno o varios elementos, o un objeto tipo lista.
- eje : 0 o ‘índice’, 1 o ‘columnas’
-
Ya sea para comparar por índice (0 o ‘índice’) o columnas (1 o ‘columnas’). Para la entrada de serie, el eje debe coincidir con el índice de serie en.
- nivel : int o etiqueta
-
Transmitir a través de un nivel, haciendo coincidir los valores del índice en el nivel MultiIndex pasado.
- fill_value : flotante o Ninguno, por defecto Ninguno
-
Complete los valores faltantes (NaN) existentes y cualquier elemento nuevo necesario para una alineación exitosa del DataFrame, con este valor antes del cálculo. Si faltan datos en ambas ubicaciones de DataFrame correspondientes, faltará el resultado.
- Devoluciones
-
- Marco de datos
-
Resultado de la operación aritmética.
Ver también
DataFrame.add
-
Agregue DataFrames.
DataFrame.sub
-
Restar DataFrames.
DataFrame.mul
-
Multiplica DataFrames.
DataFrame.div
-
Divide DataFrames (división flotante).
DataFrame.truediv
-
Divide DataFrames (división flotante).
DataFrame.floordiv
-
Divide DataFrames (división de enteros).
DataFrame.mod
-
Calcule el módulo (resto después de la división).
DataFrame.pow
-
Calcula la potencia exponencial.
Notas
Los índices que no coincidan se unirán.
Ejemplos de
>>> df = pd.DataFrame('angles':[0,3,4],...'degrees':[360,180,360],... index=['circle','triangle','rectangle'])>>> df
angles degrees
circle 0360
triangle 3180
rectangle 4360
Agregue un escalar con la versión del operador que devuelva los mismos resultados.
>>> df +1
angles degrees
circle 1361
triangle 4181
rectangle 5361
>>> df.add(1)
angles degrees
circle 1361
triangle 4181
rectangle 5361
Dividir por constante con versión inversa.
>>> df.div(10)
angles degrees
circle 0.036.0
triangle 0.318.0
rectangle 0.436.0
>>> df.rdiv(10)
angles degrees
circle inf 0.027778
triangle 3.3333330.055556
rectangle 2.5000000.027778
Restar una lista y una serie por eje con la versión del operador.
>>> df -[1,2]
angles degrees
circle -1358
triangle 2178
rectangle 3358
>>> df.sub([1,2], axis='columns')
angles degrees
circle -1358
triangle 2178
rectangle 3358
>>> df.sub(pd.Series([1,1,1], index=['circle','triangle','rectangle']),... axis='index')
angles degrees
circle -1359
triangle 2179
rectangle 3359
Multiplica un DataFrame de diferente forma con la versión del operador.
>>> other = pd.DataFrame('angles':[0,3,4],... index=['circle','triangle','rectangle'])>>> other
angles
circle 0
triangle 3
rectangle 4
>>> df * other
angles degrees
circle 0 NaN
triangle 9 NaN
rectangle 16 NaN
>>> df.mul(other, fill_value=0)
angles degrees
circle 00.0
triangle 90.0
rectangle 160.0
Dividir por un MultiIndex por nivel.
>>> df_multindex = pd.DataFrame('angles':[0,3,4,4,5,6],...'degrees':[360,180,360,360,540,720],... index=[['A','A','A','B','B','B'],...['circle','triangle','rectangle',...'square','pentagon','hexagon']])>>> df_multindex
angles degrees
A circle 0360
triangle 3180
rectangle 4360
B square 4360
pentagon 5540
hexagon 6720
>>> df.div(df_multindex, level=1, fill_value=0)
angles degrees
A circle NaN 1.0
triangle 1.01.0
rectangle 1.01.0
B square 0.00.0
pentagon 0.00.0
hexagon 0.00.0