Pandas Python eliminando SettingWithCopyWarning
Así que hice un marco de datos vacío usando
df=data[['ID','Matrix','Name','Country', 'Units']]
df['Value']=''
y lo estoy completando con un código como este, que encuentra cadenas que contienen valores de 'Bueno', 'Malo' endf.Matrix
y llenándolos de valores ensch[i]
:
df.loc[df.Matrix.str.contains('Good'),'Value'] = sch[2]
df.loc[df.Matrix.str.contains('Bad'),'Value'] = sch[6]
df.loc[df.Matrix.str.contains('Excellent'),'Value'] = sch[8]
He estado recibiendo un montón de errores como estos dos diferentes:
C:\Python33\lib\site-packages\pandas\core\strings.py:184: UserWarning: This pattern has match groups. To actually get the groups, use str.extract.
" groups, use str.extract.", UserWarning)
C:\Users\0\Desktop\python\Sorter.py:57: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
df.loc[df.Matrix.str.contains('Bad'),'Value'] = sch[6]
Hasta ahora estoy suprimiendo el código usando
pd.options.mode.chained_assignment = None
Si no suprimo los mensajes de error, obtendré unos 20 de ellos. ¿Hay otro formato en el que pueda cambiar los datos para no recibir el mensaje de error?
Estoy usando python 3 y pandas 0.131 si ayuda