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

Respuestas a la pregunta(1)

Su respuesta a la pregunta