Localización del culpable de configurarwithCopyWarning
al intentar modificar un marcado de datos usando .loc [fila_indexer, col_indexer] = valor, el "settingcopywarning" " persiste. Este problema se debe acceder a una porción de DataFrame desde otro DataFrame sin invocar el método .Copy ().
paso a paso de la reproducción de errores
Considere el siguiente código:
import pandas as pd d = {'col1': [1, 2, 3, 4], 'col2': [3, 4, 5, 6]} df = pd.DataFrame(data=d) df['new_column'] = None df.loc[0, 'new_column'] = 100
inicialmente, no hay advertencias. Sin embargo, creando un nuevo DataFrame basado en un subconjunto de df:
new_df = df.loc[df.col1 > 2]
e intentando modificar el nuevo DataFrame usando .loc: [
new_df.loc[2, 'new_column'] = 100
activa el advertencia.
: usando .copy () para marcos de datos derivados de un subconjunto
para resolver este problema, use siempre el método .copy () al crear un Nuevo DataFrame basado en un subconjunto de un DataFrame existente.
new_df_copy = df.loc[df.col1 > 2].copy() new_df_copy.loc[2, 'new_column'] = 100
invocando .Copy (), crea una copia independiente del subconjunto, evitando la advertencia al modificar los valores.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3