Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Ich möchte Werte, die mehr als 50% von meinem Mittelwert abweichen duch den Wert der Zelle vorher ersetzen. Ich bekomme dann den Fehler: "The truth value of an array with more than one element is ambiogus. Use a.any() or a.all()."
Kann jemand helfen?
import csv
import pandas as pd
import numpy as np
from scipy import *
from numpy import *
import matplotlib.pyplot as plt
dF = pd.read_csv("Example.csv", sep=';')
xresult = []
#xresult = [abs(dF.x)]
xresult = dF.x.fillna(method = 'ffill') #bfill=backwardfill, ffill is filling the list with value before if na(=NaN)
xresult = [abs(xresult)]
print xresult
k=np.mean(xresult)
print k
print (np.std(xresult))
m = k*1.50
n = k*0,5t
print m
print n
for i in range(len(dF.x)):
if dF.x[i+1] > m:#if you compare a numpy array with a number you get another array
dF.x[i+1] = dF.x[i]
elsif:
if dF.x[i+1] < n:
dF.x[i+1] = dF.x[i]
Zuletzt geändert von Anonymous am Montag 12. August 2013, 09:41, insgesamt 1-mal geändert.
Grund:Quelltext in Python-Code-Tags gesetzt.
@Marleb: Bei diesem Programm bekommst Du einen Syntax-Fehler in der drittletzten Zeile und bei »n=…«.
Du kannst also nicht diesen Fehler bekommen, den Du da beschreibst. Also poste doch das wirkliche Programm, inklusive der Zeile in der der Fehler auftritt, am besten als Stacktrace.
Noch besser, Du vergißt Deine Idee, Meßwerte zu verfälschen und liest in entsprechender Literatur wie man verrauschte Messungen aufbereiten kann. Ich würde ja in Deinem Fall einen Median-Filter vorschlagen.