Spalte umgehen ohne Fehlermeldung zu bekommen

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.
Antworten
Wechselbalg
User
Beiträge: 7
Registriert: Sonntag 24. Februar 2013, 13:44

Morgen zusammen,

Habe hier eine schöne, voll funktionierende Schleife (Funktion und Variablen nur zum Kontext):

Code: Alles auswählen

def Boxplots(data, plottitle, ylabeling,ticks, tickslabel ):
    boxplot(data,0,'', widths=0.3)
    title(plottitle)
    ylabel(ylabeling)
    ax = gca()
    ax.set_xticks(ticks)
    ax.set_xticklabels(tickslabel)
    show()


newfieldnames=["Ammonium", "nitrite", "Nitrate", "NitrogenTot", "Phosphate", "Chloride", "Calcium", "Magnesium", "Iron"]

DiffCasey=genfromtxt("Haarmann_data1.csv", delimiter=";",skip_header=11, usecols=(2,3,4,5,6,8,9,10,11))
DiffArctowski=genfromtxt("Haarmann_data1.csv", delimiter=";", skip_header=1, skip_footer=7, usecols=(2,3,4,5,6,8,9,10,11))


for i in range(Cassshape):
    Boxplots((array((DiffArctowski[:,i],DiffCasey[:,i]))),(("Boxplots of parameter:", newfieldnames[i])), "[mg/m^2]", [1,2], ['Arctowski','Casey'])
Soweit, so gut. Aber am Ende kommt "invalid index" und das liegt (nach mehreren Tests) an den usecols-Listen, in denen die 7 fehlt, weil ich diese Spalte nicht haben möchte. Gäbe es da eine Lösung eurerseits?

Vielen Dank!
BlackJack

@Wechselbalg: Ich sehe an diesem Quelltext nicht warum das an dem `usecols`-Werten liegen soll. Wo und wie wird denn `Cassshape` definiert? Entspricht *das* denn der Anzahl von Spalten in `DiffArctowski` und `DiffCasey`?
Wechselbalg
User
Beiträge: 7
Registriert: Sonntag 24. Februar 2013, 13:44

BlackJack hat geschrieben:@Wechselbalg: Ich sehe an diesem Quelltext nicht warum das an dem `usecols`-Werten liegen soll. Wo und wie wird denn `Cassshape` definiert? Entspricht *das* denn der Anzahl von Spalten in `DiffArctowski` und `DiffCasey`?
Hallo BlackJack,

danke erstmal für deine Zeit. Hier die angeforderten Kontextinfos:

Code: Alles auswählen

Casey=genfromtxt("Haarmann_data1.csv", delimiter=";",skip_header=11, usecols=range(2,12))

Cassshape=Casey.shape[1]
Wie du siehst, entspricht die Spaltenanzahl von Casey nicht der von DiffCasey bzw. Diffarctowski (Datenquelle ist analog zu Casey).
BlackJack

@Wechselbalg: Jetzt bin ich verwirrt — Du weisst das die Zahl nicht stimmt und wunderst Dich dann, dass das nicht geht? Was hast Du denn erwartet?
Wechselbalg
User
Beiträge: 7
Registriert: Sonntag 24. Februar 2013, 13:44

BlackJack hat geschrieben:@Wechselbalg: Jetzt bin ich verwirrt — Du weisst das die Zahl nicht stimmt und wunderst Dich dann, dass das nicht geht? Was hast Du denn erwartet?
Ne, ich glaube ich war nur blind :oops: Cassshape hat ja noch die alte Spaltenanzahl :roll:

Danke trotzdem, BlackJack, für die Denkhilfe!


Thema kann (wenn möglich) geschlossen werden
Antworten