Je suis coincé dans les lignes suivantes
import quandl,math
import pandas as pd
import numpy as np
from sklearn import preprocessing ,cross_validation , svm
from sklearn.linear_model import LinearRegression
df = quandl.get('WIKI/GOOGL')
df = df[['Adj. Open','Adj. High','Adj. Low','Adj. Close','Adj. Volume']]
df['HL_PCT'] = (df["Adj. High"] - df['Adj. Close'])/df['Adj. Close'] * 100
df['PCT_CHANGE'] = (df["Adj. Close"] - df['Adj. Open'])/df['Adj. Open'] * 100
df = df[['Adj. Close','HL_PCT','PCT_CHANGE','Adj. Open']]
forecast_col = 'Adj. Close'
df.fillna(-99999,inplace = True)
forecast_out = int(math.ceil(.1*len(df)))
df['label'] = df[forecast_col].shift(-forecast_out)
print df.head()
Je ne pouvais pas comprendre ce que l'on entend par df [Forecast_col] .shift (-forecast_out)
Veuillez expliquer la commande et que signifie-t-elle ??
Fonction de décalage de pandas.Dataframe décale l'index selon le nombre de périodes souhaité avec une fréquence de temps facultative. Pour plus d'informations sur la fonction shift, veuillez vous référer à ceci link .
Voici le petit exemple de valeurs de colonne déplacées:
import pandas as pd
import numpy as np
df = pd.DataFrame({"date": ["2000-01-03", "2000-01-03", "2000-03-05", "2000-01-03", "2000-03-05",
"2000-03-05", "2000-07-03", "2000-01-03", "2000-07-03", "2000-07-03"],
"variable": ["A", "A", "A", "B", "B", "B", "C", "C", "C", "D"],
"no": [1, 2.2, 3.5, 1.5, 1.5, 1.2, 1.3, 1.1, 2, 3],
"value": [0.469112, -0.282863, -1.509059, -1.135632, 1.212112, -0.173215,
0.119209, -1.044236, -0.861849, None]})
Voici la valeur de la colonne avant qu'elle ne soit décalée
df['value']
production
0 0.469112
1 -0.282863
2 -1.509059
3 -1.135632
4 1.212112
5 -0.173215
6 0.119209
7 -1.044236
8 -0.861849
9 NaN
En utilisant la fonction de décalage, les valeurs sont décalées en fonction de la période donnée
par exemple, utiliser shift avec un entier positif décale la valeur des lignes vers le bas:
df['value'].shift(1)
production
0 NaN
1 0.469112
2 -0.282863
3 -1.509059
4 -1.135632
5 1.212112
6 -0.173215
7 0.119209
8 -1.044236
9 -0.861849
Name: value, dtype: float64
en utilisant shift avec un entier négatif décale la valeur des lignes vers le haut:
df['value'].shift(-1)
production
0 -0.282863
1 -1.509059
2 -1.135632
3 1.212112
4 -0.173215
5 0.119209
6 -1.044236
7 -0.861849
8 NaN
9 NaN
Name: value, dtype: float64