2017-03-13 5 views
0

Ich versuche, die Zahl der Geschäfte, um herauszufinden, die im gesamten Jahr 2015 nicht in Betrieb war habe ich die folgenden beiden Formeln:Extrahieren von Daten aus zwei verschiedenen Funktionen

1) io15 = iowa[(iowa.year == 2015) & (iowa.month >= 1) & (iowa.month <= 12)] Dies die Zahl um herauszufinden, von Geschäften im gesamten Jahr 2015 geöffnet

2) tio15 = iowa[(iowa.year == 2015)] Dies enthält die gesamte Liste aller Geschäfte.

Der gesunde Menschenverstand sollte io15 von tio15 subtrahieren werden. Ich versuche, die unter Formel zu verwenden, aber es funktioniert nicht:

def diff(tio15,io15): 
    c = set(tio15).union(set(io15)) 
    d = set(tio15).intersection(set(io15)) 
    return list(c - d) 

Bitte helfen

+0

Können Sie ein Beispiel für den Datensatz angeben oder erklären, was Sie meinen, wenn Sie nicht arbeiten? Wenn ich zum Beispiel diff ([1,2,3], [0,1,2,3,4]) mache, ergibt das [0,4], was sich anhört wie du willst. Obwohl ich nicht sicher bin, warum du Union und Kreuzung machst. Ist tio15 nicht eine Teilmenge von io15? –

+0

Was ist die falsche Ausgabe, die Sie bekommen *? Diese Funktion sieht so aus, als sollte sie eine Liste der Geschäfte, die nur für einen Teil von 2015 geöffnet sind, zurückgeben. – Prune

+0

Ich habe versucht, diff (tio15, io15), aber es funktioniert nicht. Es gibt mir [] – Omer

Antwort

0

Wenn tio15 die Liste aller Läden ist, dann ist es mit io15 unioning ist ein NO-OP. Weil definitionsgemäß io15 eine Untermenge von tio15 sein sollte.

Was Sie wollen, ist set(tio15) - set(io15), d. H. Elemente, die in Tio15 sind, aber nicht in Io15.

+0

Hallo, ich habe Set (tio15) - set (io15) verwendet, aber das Ergebnis, das ich bekomme, ist gesetzt(). Es gibt mir keine Werte – Omer

Verwandte Themen