Kombinieren Zeilen und die Summe Ihrer Werte
Unten gibt es einen Bruchteil von meinen original-Daten-frame. Ich brauche kombinieren Sie diese Zeilen an, in denen eine bestimmte id
wiederholt in einer bestimmten Saison und seine lic
und vessel
unterschiedlich sind. Durch die Kombination, die ich brauche Summe qtty
und grossTon
.
Bitte nehmen Sie sich die id 431
im season 1998
als ein Beispiel (*).
season lic id qtty vessel grossTon
…
1998 16350 431 40 435 57
1998 16353 431 28 303 22.54
…
Dem gleichen Thema 431
hat zwei verschiedene lic
(16350 & 16353) und zwei verschiedene vessels
(435 & 303). Das Ergebnis voraussichtlich in diesem speziellen Fall ist:
season lic id qtty vessel grossTon
…
1998 16350 431 68 435 79.54
…
Ich nicht Verstand, die lic
und vessel
erinnern, in der resultierende Zeile, was ich will, ist zu halten season
, id
und die resultierende Summe von qtty
und grossTon
. Im obigen Beispiel habe ich manuell gewählt lic 16350
und vessel 435
.
Um ehrlich zu sein habe ich keine Ahnung, was zu tun ist, also ich würd so viel für jede Hilfe dankbar.
Dank
Original-Daten (*= Zeilen kombiniert werden)
season lic id qtty vessel grossTon
1998 15593 411 40 2643 31.5
1999 27271 411 40 2643 31.5
2000 35758 411 40 2643 31.5
2001 45047 411 50 2643 31.5
2002 56291 411 55 2643 31.5
2003 66991 411 55 2643 31.5
2004 80581 411 55 2643 31.5
2005 95058 411 52 NA NA
2006 113379 411 50 10911 4.65
2007 120894 411 50 10911 4.65
2008 130033 411 50 2483 8.5
2009 139201 411 46 2296 50
2010 148833 411 46 2296 50
2011 158395 411 46 2296 50
1998 16350 431 40 435 57 # *
1998 16353 431 28 303 22.54 # *
2000 37491 436 50 2021 19.11
2001 47019 436 50 2021 19.11
2002 57588 436 51 2021 19.11
2003 69128 436 51 2021 19.11
2004 82400 436 52 2021 19.11
2005 95599 436 50 2021 19.11
2006 113126 436 50 2021 19.11
2007 122387 436 50 2021 19.11
2008 131126 436 50 2021 19.11
2009 140417 436 50 2021 19.11
2010 150673 436 50 2021 19.11
2011 159776 436 50 2021 19.11
Außerdem brauche ich die vorhergehenden und folgenden Zeilen, die nur eine id
pro Saison. Wie hier: (*=resultierende Zeile nach Verbindung)
season lic id qtty vessel grossTon
1998 15593 411 40 2643 31.5
1999 27271 411 40 2643 31.5
2000 35758 411 40 2643 31.5
2001 45047 411 50 2643 31.5
2002 56291 411 55 2643 31.5
2003 66991 411 55 2643 31.5
2004 80581 411 55 2643 31.5
2005 95058 411 52 NA NA
2006 113379 411 50 10911 4.65
2007 120894 411 50 10911 4.65
2008 130033 411 50 2483 8.5
2009 139201 411 46 2296 50
2010 148833 411 46 2296 50
2011 158395 411 46 2296 50
1998 16350 431 68 435 79.54 #*
2000 37491 436 50 2021 19.11
2001 47019 436 50 2021 19.11
2002 57588 436 51 2021 19.11
2003 69128 436 51 2021 19.11
2004 82400 436 52 2021 19.11
2005 95599 436 50 2021 19.11
2006 113126 436 50 2021 19.11
2007 122387 436 50 2021 19.11
2008 131126 436 50 2021 19.11
2009 140417 436 50 2021 19.11
2010 150673 436 50 2021 19.11
2011 159776 436 50 2021 19.11
vessel
?Es klingt wie
?merge
und ?aggregate
kann hier helfen.Ich bin mir nicht sicher, was man zusammenfassen in diesem Beispiel? Ich denke, "merge" verwendet wurde, in den Titel, die aber die Funktion nicht erforderlich, es sei denn, lese ich die Frage falsch
Ja. Ich sah nur den Titel und die vier Daten-set Auszüge und kam schnell zu der falschen Schlussfolgerung. 🙂
markieren Sie die Zeilen mit einem
*
wird machen es schwieriger für andere zu kopieren+einfügen Ihrer Daten. Stattdessen, markieren Sie die Ende die Zeile mit einem #
(und jeder Kommentar nach, dass Sie, wenn Sie möchten)
InformationsquelleAutor Rafael | 2013-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Ihre Daten.Bild in Daten.Tabelle können Sie machen große Nutzung der
by
argumentdann ist es einfach nur eine Zeile:
Können wir filtern nur die
1998
Season
, wenn wir uns möchte: 'Das gesamte Ergebnis der Ausgabe sieht wie folgt aus:
Hi Ricardo, OP=original post? wenn dem so ist, habe ich schon. Vielen Dank!
yep, du hast es. Dennoch, es ist immer noch nicht klar ist, was Sie suchen, ist anders. Vielleicht könnten Sie deutlicher und Beton
InformationsquelleAutor Ricardo Saporta
Hier ist eine Online-Basis-Lösung, nach Frank ' s Vorschlag verwenden
aggregate
:Untersuchen Sie die Ausgabe:
Überprüfen das Jahr 1998, wie RS scheint, dass OP hat einen Fehler in der gewünschten Ausgabe, 57 + 57 != 79.54 aber = 114
grossTon
wäre, wie der OP hat es, wenn die aggregation fürgrossTon
werden separat berechnet und vonvessel (or lic) + season
. Warten auf @Rafael zu klären, obwohl.die aggregation
grossTon
sollte auch berechnetseason
undid
.InformationsquelleAutor Ben