Modifique en su lugar utilizando valores que no sean NA de otro DataFrame.
Se alinea con los índices. No hay valor de retorno.
- Parámetros
-
-
otro : DataFrame u objeto coercible en un DataFrame
-
Debe tener al menos una etiqueta de índice / columna coincidente con el DataFrame original. Si se pasa una serie, se debe establecer su atributo de nombre, y se usará como el nombre de la columna para alinearse con el DataFrame original.
-
entrar : {‘left’}, predeterminado ‘left’
-
Solo se implementa la unión izquierda, manteniendo el índice y las columnas del objeto original.
-
Sobrescribir : bool, por defecto True
-
Cómo manejar valores que no son NA para claves superpuestas:
-
filter_func : invocable (1d-array) -> bool 1d-array, opcional
-
Puede optar por reemplazar valores distintos a NA. Devuelve True para los valores que deben actualizarse.
-
errores : {‘subir’, ‘ignorar’}, predeterminado ‘ignorar’
-
Si ‘subir’, generará un ValueError si el DataFrame y otro ambos contienen datos que no son de NA en el mismo lugar.
Modificado en la versión 0.24.0: Cambiaron desde raise_conflict = False | Verdadero para errores = ‘ignorar’ | ‘subir’.
- Devoluciones
-
-
Ninguno : el método cambia directamente el objeto que llama
- Eleva
-
- ValueError
-
- NotImplementedError
-
Ver también
dict.update
-
Método similar para los diccionarios.
DataFrame.merge
-
Para operaciones de columna (s) sobre columna (s).
Ejemplos de
>>> df = pd.DataFrame({'A': [1, 2, 3],
... 'B': [400, 500, 600]})
>>> new_df = pd.DataFrame({'B': [4, 5, 6],
... 'C': [7, 8, 9]})
>>> df.update(new_df)
>>> df
A B
0 1 4
1 2 5
2 3 6
La longitud del DataFrame no aumenta como resultado de la actualización, solo se actualizan los valores en las etiquetas de índice / columna coincidentes.
>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],
... 'B': ['x', 'y', 'z']})
>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})
>>> df.update(new_df)
>>> df
A B
0 a d
1 b e
2 c f
Para Series, se debe establecer su atributo de nombre.
>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],
... 'B': ['x', 'y', 'z']})
>>> new_column = pd.Series(['d', 'e'], name='B', index=[0, 2])
>>> df.update(new_column)
>>> df
A B
0 a d
1 b y
2 c e
>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],
... 'B': ['x', 'y', 'z']})
>>> new_df = pd.DataFrame({'B': ['d', 'e']}, index=[1, 2])
>>> df.update(new_df)
>>> df
A B
0 a x
1 b d
2 c e
Si otro contiene NaN, los valores correspondientes no se actualizan en el marco de datos original.
>>> df = pd.DataFrame({'A': [1, 2, 3],
... 'B': [400, 500, 600]})
>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})
>>> df.update(new_df)
>>> df
A B
0 1 4.0
1 2 500.0
2 3 6.0