2015-12-04 4 views
1

Je suis très nouveau à Python et j'ai réussi à importer des données à partir d'une feuille de données Excel en utilisant la fonction pd.read_excel. Les données sont organisées de la manière suivante dans une trame de données:Cumsum avec les pandas sur les données financières

enter image description here

Je suis en train de faire un cumsum() sur cette trame de données, mais j'obtenir ce message d'erreur:

TypeError: unsupported operand type(s) for +: 'Timestamp' and 'Timestamp' 

Comment puis-je forcer seulement le cumsum() sur les colonnes de retours sans enlever mes colonnes de dates?

J'ai ajouté les données avec la fonction suivante:
oFX = pd.read_excel('C:\\Work\\Python Dev\\Athenes\\FX.xlsx', 0)

Le data.info() est le suivant:
oFX.info() <class 'pandas.core.frame.DataFrame'> Int64Index: 4133 entries, 0 to 4132 Data columns (total 11 columns): Dates 4133 non-null datetime64[ns] AUD 4133 non-null float64 CAD 4133 non-null float64 CHF 4133 non-null float64 EUR 4133 non-null float64 GBP 4133 non-null float64 JPY 4133 non-null float64 KRW 4133 non-null float64 MEP 4133 non-null float64 NZD 4133 non-null float64 USD 4133 non-null float64 dtypes: datetime64[ns](1), float64(10) memory usage: 387.5 KB

Merci à l'avance.

+1

S'il vous plaît poster la sortie de 'df.info()' ' – EdChum

+0

oFX.info() Int64Index: 4133 entrées, 0 à 4132 colonnes de données (total 11 colonnes): Dates 4133 datetime64 non null [ns] AUD 4133 non -null float64 CAD 4133 non-nul float64 CHF 4133 non-nul float64 EUR 4133 non nul float64 GBP 4133 non nul float64 JPY 4133 non nul float64 KRW 4133 non nul float64 MEP 4133 non nul float64 NZD 4133 non nul float64 USD 4133 float64 non null dtypes: datetime64 [ns] (1), float64 (10) mémoire utilisation: 387.5 KB' – Skullnick

+0

Dans votre question pas comme un commentaire, également afficher des données d'entrée brutes et comment créer votre df – EdChum

Répondre

0

Voyant que votre « dates » ne sont que des entrées quotidiennes que vous pouvez définir temporairement l'index pour cette colonne, appelez cumsum puis reset_index:

oFX.set_index('Dates').cumsum().reset_index() 
+0

Merci! Pourquoi réinitialiser l'index si? – Skullnick

+0

Pour récupérer la colonne de date en tant que colonne régulière – EdChum