Problema de índice de cadena de Pandas: SettingWithCopyWarning:

问题 : SettingWithCopyWarning: 
Se está intentando establecer un valor en una copia de un segmento de un DataFrame.
Intente usar .loc [row_indexer, col_indexer] = value inste
Solución: aprenda a identificar el índice de cadena, a toda costa, evite usar un índice de cadena
1. Si desea cambiar los datos originales , use un solo operador de asignación ( loc ):
data.loc[data.name == 'test' , 'score'] = 100
2. Si desea una copia, asegúrese de forzar a Pandas a crear una copia:
winners = data.loc[data.bid == data.price].copy()
winners.loc[304, 'bidder'] = 'therealname'
2. No se recomienda enfáticamente desactivar la advertencia directamente, pero aun así proporcionar un método de configuración para desactivar la advertencia:
pd.set_option('mode.chained_assignment', None)

Link de referencia:

Solución: https://stackoverflow.com/questions/20625582/how-to-deal-with-settingwithcopywarning-in-pandas

Principio de solución: https://zhuanlan.zhihu.com/p/41202576

Supongo que te gusta

Origin blog.csdn.net/yu1336199790/article/details/102932148
Recomendado
Clasificación