J'ai du mal à trouver un moyen itérale à travers un fichier de données et utilisez une instruction IF pour déterminer si une journée est un jour de la semaine ou de week-end (et reproduit, en utilisant le paquet vacances pour trouver des vacances)
for i in df.date:
if i.weekday() < 5:
df['period2'] = ('wkdy')
else:
df['period2'] = ('wknd')
3 Réponses :
J'essaierais d'utiliser la fonction local code> et d'appliquer les fonctions à des colonnes entières à une fois, l'opération est vectorisée et beaucoup plus rapide à exécuter: df['week'] = df['date'].weekday()
df['week'].loc[df['week'] < 5] = 'wkday'
df['week'].loc[df['week'] >= 5] = 'wknd'
Les choix binaires devraient crier mentalement np.where () code> dans 99% des cas (et je sauve que 1% pour des cas, je ne sais pas, mais éventuellement exister). Cette approche prend 2 exécutions aux données.
@ROGANJOSH Je suis d'accord, j'ai oublié celui-ci pour une seconde.
Vous pouvez utiliser si vous voulez vraiment utiliser A pour une boucle, vous devez faire boucle sur les rangées en faisant P> np.where code> for i in range(df.shape[0]):
....
Travaillé merveilleusement après avoir ajouté une colonne de la journée comptez avec python pour i dans la plage (len (df.date)): DF [«semaine»] [i] = (DF [DATE '] [I]). En semaine () Code> Merci!
Vous pouvez utiliser Il y a une autre fonction peut le faire, comme appliquer code>. Il renvoie une série code> ou un dataframe code>, df.map < / code>, df.aggreagte code>, car aggace code> si basique de appliquer code>. p> p> p>