Mein Datenrahmen ist in diesem Formatunerwartetes Verhalten, wenn Ausreißer in Pandas [Python]
df
Count
DateTime
2015-01-16 10
2015-01-17 28
2015-01-18 26
2015-01-19 10
2015-01-20 24
2015-01-21 25
Im mit dieser Funktion zu experimentieren Gruppierung Ausreißer zu eliminieren groupby mit
def replaceit(group):
mean, std = group.mean(), group.std()
outliers = (group - mean).abs() > 3*std
group[outliers] = mean # or "group[~outliers].mean()"
return group
eine Kopie dieses Datenrahmen erstellen als ich will es an anderer Stelle verwenden:
df2 = df
Ermöglicht die Ausgabe von DF2 sehen
df2
Count
DateTime
2015-01-16 10
2015-01-17 28
2015-01-18 26
2015-01-19 10
2015-01-20 24
2015-01-21 25
lässt die Funktion
df2 = replaceit(df2)
df2
DateTime
2015-01-16 10.000000
2015-01-17 28.000000
2015-01-18 26.000000
2015-01-19 10.000000
2015-01-20 24.000000
2015-01-21 25.000000
verwenden, aber jetzt können Sie die Ausgabe von df sehen:
df
Count
DateTime
2015-01-16 10.000000
2015-01-17 28.000000
2015-01-18 26.000000
2015-01-19 10.000000
2015-01-20 24.000000
2015-01-21 25.000000
Meine Frage ist, warum ist das passiert? Wie kann ich dieses Problem lösen?
Ich glaube, Sie brauchen 'copy' -' df2 = df.copy() ' – jezrael
Danke, ich war nicht bewusst, was man brauchte – SerialDev