Zusammenfassen von Spalten, die mehr als einen eindeutigen Wert enthaltenIch habe eine Datentabelle und möchte die Spalten zusammenfassen, die mehr als einen eindeutigen Wert enthalten, einschließlich fehlender Zeilen. Die Spalten mit allen gleichen Zeilen sind langweilig und ich möchte nur die interessanteren betrachten.
Automatisierung und SkriptingBetreff: Spalten zusammenfassen, die mehr als einen eindeutigen Wert enthaltenHierzu gibt es mehrere Möglichkeiten, die einfachste ist meiner Meinung nach jedoch die folgende:
Gehen Sie zu Spalten > Spalten-Manager
Die resultierende Tabelle enthält eine Spalte mit „N Unique“, die angibt, wie viele eindeutige Elemente sich in jeder Spalte befinden. Außerdem enthält sie eine Spalte mit „N Missing“, die angibt, wie viele fehlende Werte sich in dieser Spalte befinden.
Leider wird N Unique für fortlaufende Spalten nicht automatisch berechnet, das rote Popup-Menü bietet jedoch die Option, die Berechnung für alle numerischen Spalten zu erzwingen.
Sie können diese Tabelle auch verwenden, um Spalten mit nur einem eindeutigen Wert auszuwählen. Diese Spalten werden dann in der Originaltabelle ausgewählt, sodass Sie sie ausblenden und ausschließen können, sodass Sie diese „nicht interessanten“ Spalten nicht sehen müssen.
Betreff: Spalten zusammenfassen, die mehr als einen eindeutigen Wert enthaltenIch bin ein Luddit, JMP17, fürchte ich. Danke, ich glaube, ich kann das skripten, habe mich nur gefragt, ob es schon jemand geknackt hat.
Betreff: Spalten zusammenfassen, die mehr als einen eindeutigen Wert enthaltenIch mag „Werbung“ für meine Add-Ins nicht wirklich, aber vielleicht könnte „Analyse Columns“ hilfreich sein? Die öffentliche Version sollte funktionieren (und auch mit JMP17). Ein einfaches Skript mit einer Schleife kann solche Spalten auch problemlos entfernen/ausschließen/ausblenden/oder was auch immer damit umgehen.
Betreff: Spalten zusammenfassen, die mehr als einen eindeutigen Wert enthaltenSchönes Add-In, Jarmo! Ich muss noch daran herumbasteln, aber es sieht toll aus. Hier ist das Skript, das ich erstellt habe, um alle Spalten zusammenzufassen, die > 1 eindeutigen Eintrag pro Wafer haben.
dt = Current Data Table();
colList = Current Data Table() << Get Column Names( String );
dcols = {};
For( i = 1, i <= N Items( colList ), i++,
If( Contains( colList[i], " / " ),
Insert Into( dcols, colList[i] )
)
);
Show( dcols );
Split_Cols = {};
Insert Into( Split_Cols, :wafer );
For( j = 1, j <= N Items( dcols ), j++,
summarize(unique_values = by( Column(dcols[j]) ));
if (N Items(unique_values) > 1, Insert Into( Split_Cols, dcols[j] ) );
);
Show(Split_cols);
Current Data Table() << Summary(
Group( Split_cols ),
Freq( "None" ),
Weight( "None" )
);Betreff: Spalten zusammenfassen, die mehr als einen eindeutigen Wert enthaltenIch schlage vor, For Each, Filter Each und Transform Each meistens anstelle von For-Schleifen zu verwenden, da sie schneller und einfacher zu lesen sind. Aber sie können aufgrund ihrer Geschwindigkeit nerviger zu debuggen und zu handhaben sein, wenn ein Problem auftritt UND sie haben einen fiesen Bug/ein fieses Feature". Glücklicherweise ist dieser Bug/dieses „Feature“ in einem einfachen Fall wie diesem nicht vorhanden ( Problem mit Function()-Standard lokal und Each-Funktionen ). Ich bin mir nicht sicher, ob Sie fehlende Werte als „gültige“ Werte betrachten wollten, also habe ich Remove From in der Filter Each-Schleife auskommentiert gelassen
Names Default To Here(1);
dt = Current Data Table();
collist = dt << Get Column Names("String");
valid_cols = Filter Each({colname}, collist,
Summarize(dt, vals = By(Eval(colname)));
//Remove From(vals, Contains(vals, "")); // drop missing values if necessary
N Items(vals) > 1;
);
dt_summary = dt << Summary(
Group(valid_cols),
Freq("None"),
Weight("None"),
//Link to original data table(0),
Output Table("Non-Unique Summary")
);
Hier ist ein Skript zum Erstellen einer einfachen Demo-Tabelle
dt = New Table("demo",
Compress File When Saved(1),
New Column("Column 1", Character, "Nominal", Set Values({"a", "a", "a", "a"})),
New Column("Column 2", Character, "Nominal", Set Values({"b", "b", "b", ""})),
New Column("Column 3", Character, "Nominal", Set Values({"", "", "", ""})),
New Column("Column 4", Character, "Nominal", Set Values({"c", "d", "", ""})),
New Column("Column 5", Character, "Nominal", Set Values({"c", "d", "e", "f"}))
);
Dieses Add-In wurde erstellt, bevor JMP den Columns Manager hatte, und ich bevorzuge es immer noch meistens gegenüber dem Columns Manager. Ich gehe davon aus, dass sie unterschiedliche Anwendungsfälle haben und der Columns Manager versucht, die Columns Viewer-Plattform durch einige nette Zusatzfunktionen zu ersetzen, und Analyse Columns wurde vonPandas Profiling inspiriert (scheint in ydata Profiling umbenannt worden zu sein), da ich schnell überprüfen können musste, wie meine Daten in Bezug auf zusammenfassende Statistiken aussahen.