Durchlaufen der Gruppen (Python pandas dataframe)

Möchte ich Durchlaufen Gruppen gruppiert sind, durch Zeichenketten oder Datumsangaben.

df = pd.DataFrame({'A': ['foo', 'bar'] * 3,
                   'B': ['me', 'you', 'me'] * 2,
                   'C': [5, 2, 3, 4, 6, 9]}) 
groups = df.groupby('A')

ZB in diesem code habe ich Gruppen, die mit Namen 'foo' und 'bar', und ich kann die Schleife über Sie mit;

for name, group in groups:
   print name

Mein problem ist ich muss eine weitere Schleife in dieser Schleife, und jedesmal, wenn ich anrufen müssen verschiedenen Gruppen. wie (übernehmen Gruppen der Größe n)

for name,group in groups:
   for name1 in range(name, name + 9):  # + 9 to get first 9 groups for every iteration`

Da, name ist ein string, ich bin nicht in der Lage, das zu tun. Kurz gesagt ich will einfach nur eine Methode, mit deren Hilfe ich Zugriff auf Gruppen von zahlen, so dass ich problemlos aufrufen, gewünschten Gruppen für die Berechnung.
So etwas wie

groups = df.group('A')
for i in range(0,n):
    print group(i)[] + group(i+1)[]  

also wenn ich folgende Gruppen [g1,g2,g3,g4,g5], ich will iterativ rufen Sie in Paaren wie [g1,g2], [g2,g3], [g3,g4] .... und nehmen Sie die Kreuzung der 2 Gruppen der Reihe ankommen. Ich bin auf der Suche nach Weg, um Anruf-Gruppen [g1,g2,.., g5], die durch den index oder nicht. so dass ich Sie verwenden können, für loop-Operationen. Die derzeit einzige Möglichkeit, die ich kenne anrufen-Gruppen wird durch den Namen der Gruppe, wie oben erwähnt, im Beispiel 'foo' und 'bar'.
Ich will macht, das zu tun-Operationen, wie:

for name,group in groups-1:
   print gb.get_group(name)
   print gb.get_group(name+1)

Ich weiß, dies könnte ein einfaches problem, aber ich habe gekämpft für dieses Teil seit einer Weile. Ich würde mich über jede Art von Hilfe.

Was bist du eigentlich machen willst? In dem moment, das klingt wie ein XY-problem...
Es ist nicht klar, was Sie brauchen-ist es genug, um alle 9 Gruppen eine Zeit für die Arbeit oder gibt es da eine Bestellung auf die Gruppen? Wenn die Gruppen geordnet sind, ist es, weil Sie Ihre Schlüssel bestellt werden?
also wenn ich folgende Gruppen [g1,g2,g3,g4,g5], ich will iterativ rufen Sie in Paaren wie [g1,g2], [g2,g3], [g3,g4] .... und nehmen Sie die Kreuzung der 2 Gruppen der Reihe ankommen. Ich bin auf der Suche nach Weg, um Anruf-Gruppen [g1,g2,.., g5], die durch den index oder nicht. so dass ich Sie verwenden können, für loop-Operationen. Die derzeit einzige Möglichkeit, die ich kenne anrufen-Gruppen wird durch den Namen der Gruppe, wie oben erwähnt, im Beispiel 'foo' und 'bar'.
Nehmen Sie sich bitte einige Daten (auch random ist ausreichend), und geben Sie die erwartete Leistung, das macht es einfacher zu verstehen.

InformationsquelleAutor Bunny | 2015-04-15

Schreibe einen Kommentar