Python-Pandas entfernen SettingWithCopyWarning
Also habe ich mit einen leeren Datenrahmen erstellt
df=data[['ID','Matrix','Name','Country', 'Units']]
df['Value']=''
und ich fülle es mit Code wie diesem aus, der Zeichenfolgen findet, die Werte von "Gut", "Schlecht" enthaltendf.Matrix
und füllen sie mit Werten insch[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]
Ich habe eine Reihe von Fehlern wie die beiden folgenden erhalten:
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]
Bisher unterdrücke ich den Code mit
pd.options.mode.chained_assignment = None
Wenn ich die Fehlermeldungen nicht unterdrücke, erhalte ich ungefähr 20 von ihnen. Gibt es ein anderes Format, in dem ich die Daten ändern kann, damit ich keine Fehlermeldung erhalte?
Ich benutze Python 3 und Pandas 0.131, wenn es hilft