|
|
NaN's aus einer Tabelle entfernen |
|
jrbbrt |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 13.07.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.07.2018, 11:23
Titel: NaN's aus einer Tabelle entfernen
|
|
|
|
|
Hallo ihr Lieben!
Meine Daten: Eine Tabelle (18316x4). Dabei sind in Spalte 3 und 4 Strings zu finden, die jedoch Zeiten/ein Datum darstellen. Nun kommt es gelegentlich vor, dass sich in der vierten Spalte ein "NaN" findet.
Das Ziel: Letztendlich möchte ich meine Tabelle von den NaN's säubern. Und die beiden Spalten, die die Zeiten enthalten von String in eine Datetime umwandeln.
Ansätze bisher: Zunächst habe ich versucht, meine strings in Zeiten mit der Funktion
datetime
umzuwandeln. Das hat bei Reihe 3 (date_d) super funktioniert, bei Reihe 4 (date_r) leider nicht.
Als Fehlermeldung wurde mir folgendes angezeigt: "Error using datetime (line 639) Input data must be a numeric array, a string array, a cell array containing character vectors, or a char matrix."
Hat jemand eine Idee wie das zu Stande kommen kann?
Die erste Vermutung meinerseits war, dass es an den NaNs liegt ... Die übrigens so [NaN] in meinen Zellen eingetragen sind.
Meine Ansätze, um die NaNs zu entfernen waren u.a.
isnan
,
find
oder die
rmmissing
Funktion zu verwenden ... Leider ohne Erfolg. Entweder war die Funktion nicht für ein Argument einer Zelle geeignet, ich hatte zu viele Input-Argumente, etc. ...
Meine Frage an euch: Wie kann ich möglichst einfach die "NaN"-Strings aus meiner Tabelle entfernen, bzw. parallel die gesamte Zeile in der ich es finde löschen?
Ich freue mich über jede Hilfe!! Beste Grüße!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.07.2018, 11:59
Titel:
|
|
Hallo,
ein Beispieldatensatz wäre hilfreich.
Grüße,
Harald
|
|
|
jrbbrt |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 13.07.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.07.2018, 12:57
Titel:
|
|
Reicht folgendes als Beispieldatensatz aus?
Viele Grüße!
Beschreibung: |
|
Download |
Dateiname: |
Beispieldaten.mat |
Dateigröße: |
1.14 KB |
Heruntergeladen: |
372 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.07.2018, 13:09
Titel:
|
|
Hallo,
danach sollte auch datetime gut klappen.
Wie bekommst du denn den Table? Mich verwundert, dass die Datumsangaben nicht automatisch datetime sind. Ich kann mir ggf. auch mal einen Rohdatensatz ansehen.
Grüße,
Harald
|
|
|
jrbbrt |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 13.07.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.07.2018, 13:32
Titel:
|
|
Tatsache funktioniert jetzt auch datetime. Danke dir!
Besteht denn auch die Möglichkeit die komplette Zeile x in der das NaN gelöscht wurde zu entfernen? Sprich, Zeile x sowohl von Spalte 1, 2, 3 und 4? Oder macht das alles unnötig kompliziert?
Die Daten aus meinem Table hole ich mir mittels SQL-Abfrage aus meiner Datenbank raus. Den Cellarray der mir dabei ausgegeben wird, wandle ich anschließend in eine Tabelle um.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.07.2018, 13:49
Titel:
|
|
Hallo,
Zitat: |
Besteht denn auch die Möglichkeit die komplette Zeile x in der das NaN gelöscht wurde zu entfernen? Sprich, Zeile x sowohl von Spalte 1, 2, 3 und 4? |
Du kannst dir die Daten auch direkt als Table geben lassen:
Grüße,
Harald
|
|
|
DerElch |
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 18.07.18
|
|
|
|
Wohnort: Wien
|
|
|
|
Version: 2017b
|
|
|
|
|
|
Verfasst am: 18.07.2018, 09:29
Titel:
|
|
Macht er dann eigentlich bei den Missing in der datetime Spalte ein NaT?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.07.2018, 11:19
Titel:
|
|
Hallo,
fehlende Werte in datetime werden als NaT dargestellt, ja.
Der konkrete Bezug zum Thema fehlt mir da aber...
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
DerElch |
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 18.07.18
|
|
|
|
Wohnort: Wien
|
|
|
|
Version: 2017b
|
|
|
|
|
|
Verfasst am: 18.07.2018, 13:33
Titel:
|
|
War ein Gedankenfehler meinerseits.
|
|
|
ulru |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 18.07.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2018, 16:37
Titel:
|
|
Um aus einer Tabelle (18316x4) alle Zeilen zu entfernen, die in Spalte 4 ein NAN enthalten, würde ich wie folgt vorgehen: Die Tabelle sei t und ihre bereinigte Version sei rt.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|