JSL-Frage: Spalten auswählen und fehlende Werte durch Null ersetzenHallo,
Die Datentabelle enthält viele numerische Spalten, in denen alle Werte fehlen.
Ich möchte nur einige davon auswählen (da ich die Spaltennamen bereits kenne) und die darin fehlenden Werte durch Nullen ersetzen.
Ich habe den Code wie folgt geschrieben, aber er funktioniert nicht.
Könntest du helfen?
Danke!
dt = data table("Untitled 9");
col_list = {"A","B"};
For( i = 1, i <= N Items( col_list ), i++,
col_list[i][dt << get rows where( Is Missing( col_list[i][]) )] = 0);Betreff: JSL-Frage: Spalten auswählen und fehlende Werte durch Null ersetzenIch habe in der Vergangenheit die Such-/Ersetzungsoption verwendet:
Wählen Sie die Spalte aus, die Sie durch Null ersetzen möchten
Suchen nach . und durch 0 ersetzen möchten, achten Sie darauf, die Option „Nur in ausgewählter Spalte suchen“ zu aktivieren.
Betreff: JSL-Frage: Spalten auswählen und fehlende Werte durch Null ersetzenMeine Methode wird fehlende Werte insgesamt ersetzen numerisch Säulen. Wenn Sie nur Werte in Ihrer spezifischen Liste ersetzen möchten, geben Sie einfach Folgendes an
col_list = {"A", "B"}
anstelle meiner Definition von col_list.
Betreff: JSL-Frage: Spalten auswählen und fehlende Werte durch Null ersetzenDanke. Aber in Ihrer Methode ersetzen Sie immer noch fehlende Werte in allen Spalten. Was ich versuche, ist: Angenommen, es gibt 10 numerische Spalten, und in allen fehlen Werte. Ich möchte aber nur fehlende Werte in bestimmten Spalten ersetzen („A“ und „B“ in meinem Beispiel). Deshalb habe ich in meiner ursprünglichen Nachricht col_list = {"A","B"} verwendet, aber aus irgendeinem Grund funktioniert das nicht ...Betreff: JSL-Frage: Spalten auswählen und fehlende Werte durch Null ersetzenHier ist eine Möglichkeit:
dt = New Table( "Test Zeroes", Add Rows( 3 ),
New Column( "Column 1", Character, "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "Column 2", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, ., 3] ) ),
New Column( "Column 3", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [., 2, .] ) )
);
col_list = dt << get column names(string, numeric);
For( i = 1, i <= N Items( col_list ), i++,
missing_rows = dt << get rows where (is missing(as column(dt, col_list[i])));
if (nrows(missing_rows) > 0,
column(dt, col_list[i])[missing_rows] = 0;
);
);