Unione di serie temporali con data e ora e durataVorrei unire le seguenti tabelle 1 (serie temporali con determinati eventi, ~ 2000 punti dati) e 2 (serie temporali con dati di durata e ampiezza, ~ 1.000.000 punti dati) in una tabella come 3:
1:
| timestamp | evento |
| 20: 23: 56: 962 | Un evento |
| 20: 24: 14: 964 | Evento B. |
| ... | ... |
2:
tempo [s] | ampiezza |
| 0 | -,000457764 |
| 0.0000625 | ,0642,700195 millions |
| ... | ... |
3:
| timestamp | tempo [s] | evento | ampiezza |
| 20: 23: 56: 962 | 0 | Un evento | -,000457764 |
| 20: 23: 56: 962 | 0.0000625 | | ,0642,700195 millions |
| 20: 23: 56: 962 | 0.000125 | | ,0927,124023 millions |
| ... | ... | | ... |
| 20: 24: 14: 964 | 18,002 | Evento B. | -,013092041 |
| ... | ... | ... | ... |
Le sarei molto grato per il tuo aiuto.
Ri: Unione di serie temporali con data e ora e durataQui puoi trovare come unire due tabelle di dati in JMP
https://www.youtube.com/watch?v=UrW0X3XfHFA
Ri: Unione di serie temporali con data e ora e durataPuoi spiegare come determinare quali righe nella tabella dati 2 sono associate all'evento A rispetto a quali righe nella tabella dati 2 sono associate a Even2 B?Ri: Unione di serie temporali con data e ora e durataMi scuso, non l'ho chiarito abbastanza: vorrei sincronizzare le due tabelle associando l'evento A nella tabella 1 con la durata temporale 0 nella tabella 2.
Pertanto, sarebbe semplicemente necessario aggiungere il timestamp dell'evento A al valore della durata temporale di ogni riga nella tabella 2, e quindi associare ogni evento successivo al rispettivo timestamp "composto".
Ri: Unione di serie temporali con data e ora e durataNon so se questo sarà utile, ma ecco uno script che prenderà i tuoi valori di data / ora (suppongo che la colonna di data e ora come tu hai definita sia una colonna di caratteri) e li converta in una colonna numerica. La nuova colonna può quindi essere confrontata con la colonna dei tempi per mettere insieme i dati.

names default to here(1);
// Create the sample data table
dtEvent = New Table( "Events",
Add Rows( 2 ),
New Column( "timestamp",
Character,
"Nominal",
Set Values( {"20:23:56:962", "20:24:14:964"} )
),
New Column( "event",
Character,
"Nominal",
Set Values( {"A event", "B event"} )
)
);
// put in a time delay so one can see the initial data table
wait(5);
// Create a numeric version of the timestamp data
dtEvent << New Column( "Numeric timestamp",
Format(
"Custom",
Formula(
Char( Hour( value ) ) || ":" || Char( Minute( value ) ) || ":" ||
Char( Floor( Second( value ) ) ) || ":" || Word(
2,
Char( Round( Second( value ), 3 ) ),
"."
)
),
20
),
formula(
Num( Word( 1, :timestamp, ":" ) ) * 3600 + Num( Word( 2, :timestamp, ":" ) ) * 60
+Num( Word( 3, :timestamp, ":" ) ) + Num( "." || Word( 4, :timestamp, ":" ) )
)
);Ri: Unione di serie temporali con timestamp e durataGrazie. Seguendo questo percorso, richiederei una corrispondenza delle colonne, ma i formati dell'ora nelle due tabelle differiscono: uno è un timestamp insolito che include millisecondi (hh: mm: ss: sss), l'altro un valore di durata in secondi (la durata inizia a un determinato timestamp, ovvero evento).
Il mio obiettivo è integrare una colonna con timestamp per ogni valore di durata. Vorrei evitare di arrotondare i valori di durata a millisecondi, poiché ciò ridurrebbe l'integrità dei dati, ma non sono sicuro di come gestire formati di timestamp dispari che includono microsecondi. Se hai qualche suggerimento, te ne sarei molto grato.