Pandas Variable zeitlich verschieben
Verfasst: Montag 11. März 2019, 12:35
Hallo zusammen,
ich habe einen größeren Datensatz mit jährlichen Daten (Wirtschaftsleistung, 'gdp') und für verschiedene Alter die Geburtenziffer('preg rage'):
Jetzt möchte ich die Veränderung dieser Daten ggü. dem Vorjahr berechnen. Dazu war mein Plan, neue Spalten anzulegen, in denen dann die Werte aus dem Vorjahr stehen.
Für die Geburtenziffer habe ich nach Recherche folgenden Befehl benutzt:
So weit, so gut. Jetzt möchte ich aber noch die Spalte 'gdp' verschieben. Kann mir dabei jemand helfen?
Vielen Dank und viele Grüße
ich habe einen größeren Datensatz mit jährlichen Daten (Wirtschaftsleistung, 'gdp') und für verschiedene Alter die Geburtenziffer('preg rage'):
Code: Alles auswählen
import pandas as pd, numpy as np
frame = pd.DataFrame({
'year':[1950,1050,1950,1951,1951,1951,1951],
'age':[15,16,17,15,16,17,18],
'preg_rate':[0.21,0.1,0.3,0.4,0.32,0.2,0.01],
'gdp':[600,600,600,650,650,650,650]
})
frame
Out[8]:
year age preg_rate gdp
0 1950 15 0.21 600
1 1950 16 0.10 600
2 1950 17 0.30 600
3 1951 15 0.40 650
4 1951 16 0.32 650
5 1951 17 0.20 650
6 1951 18 0.01 650
Für die Geburtenziffer habe ich nach Recherche folgenden Befehl benutzt:
Code: Alles auswählen
frame['lastpregrate']=frame.groupby('age')['preg_rate'].shift(1).head(7)
frame
Out[12]:
year age preg_rate gdp lastpregrate
0 1950 15 0.21 600 NaN
1 1950 16 0.10 600 NaN
2 1950 17 0.30 600 NaN
3 1951 15 0.40 650 0.21
4 1951 16 0.32 650 0.10
5 1951 17 0.20 650 0.30
6 1951 18 0.01 650 NaN
Vielen Dank und viele Grüße