Seite 1 von 1

Spalte umgehen ohne Fehlermeldung zu bekommen

Verfasst: Sonntag 10. März 2013, 03:35
von Wechselbalg
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!

Re: Spalte umgehen ohne Fehlermeldung zu bekommen

Verfasst: Sonntag 10. März 2013, 08:44
von 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`?

Re: Spalte umgehen ohne Fehlermeldung zu bekommen

Verfasst: Dienstag 12. März 2013, 21:58
von Wechselbalg
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).

Re: Spalte umgehen ohne Fehlermeldung zu bekommen

Verfasst: Dienstag 12. März 2013, 22:06
von 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?

Re: Spalte umgehen ohne Fehlermeldung zu bekommen

Verfasst: Mittwoch 13. März 2013, 00:39
von Wechselbalg
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