2016-06-07 14 views
1

Ich habe 1 Datenrahmen - lässt es Datenrahmen 1 nennen:Python - Pandas - Wie markiert man Elemente in einem Datenrahmen mit Elementen aus einem zweiten Datenrahmen?

datetime   event name 
0 31/10/1996 08:30 US-US Personal Outlays SA 
1 31/10/1996 08:30 US-Personal Income 
2 01/11/1996 10:00 US-ISM Manufacturing 
3 01/11/1996 10:00 US-Factory Orders 
4 04/11/1996 10:00 US-Construction Spending 
5 07/11/1996 15:00 US-Consumer Credit 

ich einen anderen Datenrahmen - es lässt rufen Datenrahmen 2.

Event name     Category 
0 US-US Personal Outlays SA Labor demand 
1 US-Personal Income   Labor demand 
2 US-ISM Manufacturing   Industrial production 
3 US-Factory Orders   Industrial production 
4 US-Construction Spending  Housing activity 

Ich möchte eine dritte Spalte ‚Kategorie‘ hinzuzufügen Datenrahmen 1, der die aus dem Dataframe2 abgerufene Kategorie angibt.

Wer weiß, wie man das macht?

Antwort

1

können Sie .map() Funktion für die Verwendung:

In [336]: d1['Category'] = d1['event name'].map(d2.set_index('Event name')['Category']) 

In [337]: d1 
Out[337]: 
      datetime     event name    Category 
0 31/10/1996 08:30 US-US Personal Outlays SA   Labor demand 
1 31/10/1996 08:30   US-Personal Income   Labor demand 
2 01/11/1996 10:00  US-ISM Manufacturing Industrial production 
3 01/11/1996 10:00   US-Factory Orders Industrial production 
4 04/11/1996 10:00 US-Construction Spending  Housing activity 
5 07/11/1996 15:00   US-Consumer Credit     NaN 

Erklärung:

In [335]: d1['event name'].map(d2.set_index('Event name')['Category']) 
Out[335]: 
0    Labor demand 
1    Labor demand 
2 Industrial production 
3 Industrial production 
4   Housing activity 
5      NaN 
Name: event name, dtype: object 
+0

beeindruckend - genial thx! –

Verwandte Themen