2017-05-09 5 views
1

ich in Python neu bin und Pandas und ich habe Probleme, ein Problem zu lösen, ich habe einen DF mit mehreren Variablen, wie das Beispiel unten:einen Datenrahmen mit eindeutigen Werten einer Spalte in Pandas

SRC Data1 Data2 
AAA 180 122 
BBB 168 121 
CCC 165 147 
DDD 140 156 
EEE 152 103 
AAA 170 100 
CCC 166 112 
DDD 116 155 
EEE 179 119

Und ich erwarte etwas wie:

DF_A

SRC Data1 Data2 
AAA 180  122 
AAA 170  100

DF_B

SRC Data1 Data2 
BBB  168  121

Was ich brauche, ist ein DF jedem Wert in SRC erstellen und ihre jeweiligen Daten in Data1 tragen und Data2

Ich habe alredy verwenden pd.DataFrame (Example.SRC.unique()) und bekomme jede eindeutige Werte in SRC aber ich weiß nicht, ob mir das weiterhilft.

Danke euch allen!

+5

Bitte geben Sie Ihren gewünschten Datensatz an – MaxU

+5

Was ist die erwartete Ausgabe? –

+1

Bearbeiten Sie Ihre Frage. Poste nicht in Kommentaren. – Parfait

Antwort

2

ein Wörterbuch von DFs erzeugen würde:

In [247]: dfs = {n:g for n,g in df.groupby('SRC')} 

In [248]: dfs['AAA'] 
Out[248]: 
    SRC Data1 Data2 
0 AAA 180 122 
5 AAA 170 100 

In [249]: dfs['BBB'] 
Out[249]: 
    SRC Data1 Data2 
1 BBB 168 121 

In [253]: dfs.keys() 
Out[253]: dict_keys(['EEE', 'DDD', 'CCC', 'BBB', 'AAA']) 

ein bisschen schöner Weg, um das gleiche zu erreichen:

dfs = dict(tuple(df.groupby('SRC'))) 
5

Die nette Art und Weise, dies zu tun ist dict(iter(g)):

In [11]: g = df.groupby("SRC", as_index=False) 

In [12]: d = dict(iter(g)) 

In [13]: d 
Out[13]: 
{'AAA': SRC Data1 Data2 
0 AAA 180 122 
5 AAA 170 100, 'BBB': SRC Data1 Data2 
1 BBB 168 121, 'CCC': SRC Data1 Data2 
2 CCC 165 147 
6 CCC 166 112, 'DDD': SRC Data1 Data2 
3 DDD 140 156 
7 DDD 116 155, 'EEE': SRC Data1 Data2 
4 EEE 152 103 
8 EEE 179 119} 

In [14]: d["AAA"] 
Out[14]: 
    SRC Data1 Data2 
0 AAA 180 122 
5 AAA 170 100 

Sie können die Untergruppen herausziehen, ohne zu kopieren:

Hinweis: Mit g.groups.keys() können Sie einen iterierbaren Schlüssel erhalten.

+0

wow! das ist cool, noch nie zuvor gesehen – MaxU

Verwandte Themen