2012-08-17 5 views
5

Ich bin absolut neu in Python und Panda und obwohl ich die Dokumentation überprüft habe, scheint ich nicht die richtige Methode zum Indexieren eines Pandas DataFrame zu verstehen. Ich möchte einen DataFrame voll von Aktienkursen durch ihre jeweiligen Anfangswerte teilen, um die verschiedenen Aktien auf 100 zu indexieren. Ich möchte dies verwenden, um ihre Performance zu vergleichen. Die Datenrahmen sieht wie folgt aus:Python: Pandas dividieren DataFrame von der ersten Zeile

>>> IndexPrices 
<class 'pandas.core.frame.DataFrame'> 
DatetimeIndex: 157 entries, 1999-12-31 00:00:00 to 2012-12-31 00:00:00 
Freq: M 
Data columns: 
MSCI WORLD :G U$      148 non-null values 
S&P 500 COMPOSITE      148 non-null values 
DAX 30 PERFORMANCE      148 non-null values 
RUSSELL 2000       148 non-null values 
FTSE 100        148 non-null values 
US Treasury Bond Yields 30 Year Bond 148 non-null values 
dtypes: float64(6) 

Bisher habe ich versaut haben um mit Sachen wie diese, aber es ist mir nicht immer überall ...

IndexPrices.divide(IndexPrices[0:1]) 

Vielen Dank für Ihre Hilfe Jungs!

Antwort

12
In [193]: df 
Out[193]: 
    A B C D 
a 1 8 9 1 
b 5 4 3 6 
c 4 6 1 3 
d 1 0 2 9 

In [194]: df.divide(df.ix[0]/100) 
Out[194]: 
    A B   C D 
a 100 100 100.000000 100 
b 500 50 33.333333 600 
c 400 75 11.111111 300 
d 100 0 22.222222 900 
Verwandte Themen