2016-05-13 6 views
2

Ich bin auf der Suche nach einer Zeile für Zeile Wörterbuch Mapping von zwei Spalten einer übergreifenden mehrspaltigen csv in eine pandas DataFrame über eingelesen. Mit anderen Worten, für jede Zeile, den Wert in Spalte X den Schlüssel und den entsprechenden Wert in Spalte Y den Wert.Element-wise Wörterbuch-Erstellung von zwei Pandas-Serie (Spalten von csv als DataFrame)

Bei vielen Operationen in pandas ist elementweise, vermutete ich, dass ich vielleicht dies mit dem folgenden Einzeiler erreichen könnte:

{df['X'] : df['Y']} 

Ach, kein Glück.

Gibt pandas seinen eigenen Weg dies zu tun? Ich werde auch etwas Ähnliches mit einem .xls und einem .xlsx suchen.

  • Python: 2.7.11

  • Pandas: 0,18

+1

Mögliche Duplikat http://stackoverflow.com/questions/17426292/what-is-the-most-efficient-way-to-create-a-dictionary -von-zwei-Pandas-Datenrahmen-Co? – Pyderman

Antwort

0

Wenn alle Werte in X nicht eindeutig sind, dann werden Sie Ihre Schlüssel werden überschrieben wird.

Angenommen, sie sind einzigartig, dann können Sie ein Wörterbuch Verständnis mit zip verwenden.

{key: val for key, val in zip(df.X, df.Y)} 
1

Wie wäre:

dict(zip(df['X'].values, df['Y'].values)) 
Verwandte Themen