J'ai le jeu de données suivant: https://i.imgur.com/ufk7tvz.jpg
Je veux créer Une nouvelle colonne qui est la soustraction entre Time_exit et Time_Entry.
Cependant, lorsque j'essaie le code: p> Le résultat est le suivant: TypeError: Type (s) d'opérande non pris en charge pour -: "str 'et" str' << p> < p> Si je fais: p> Le résultat est: ValueError: les colonnes doivent avoir la même longueur que la touche. P> mais faire une décrire sur les deux, ils avoir le même compte, c'est 381185. P> Je suis perdu. p> p>
3 Réponses :
En regardant la première erreur, vos colonnes ont le mauvais type de données; Vous essayez de soustraire une chaîne d'une autre. Vous devez donc convertir ces colonnes: puis, p> devrait faire le tour. p> Votre deuxième approche échoue, car soustraire deux dataframes avec une colonne chacune (et ces colonnes ont des noms différents), renvoie un troisième Dataframe, avec deux colonnes, remplies de NaN, qui ne peuvent pas être affectées à une seule colonne. p> p> df [['time_exit']]] code> et df [['TIME_Entry']]] code> retourneraFrames, plutôt que Séries. P>
Je suis déjà quand à travers cela. Même en ajoutant les erreurs = argument d'option de coerce et format, le résultat est que chaque observation de la colonne Tempo (qui est créée au moins) est NAT.
D'accord, pourriez-vous alors poster la tête des données réelles sous forme de texte, plutôt que d'image? Découvrez Cet article pour faire de bons exemples de pandas.
Utilisez Appliquer code> avec TimeDelta CODE>: #sample data
df = pd.DataFrame({'start': ['07:15:00', '08:00:00'], 'end':['08:15:00', '10:00:00']})
# apply with pd.Timedelta
df['diff'] = df['end'].apply(pd.Timedelta) - df['start'].apply(pd.Timedelta)
start end diff
0 07:15:00 08:15:00 01:00:00
1 08:00:00 10:00:00 02:00:00
Je recommanderais d'abord spécifier le format des données de l'heure actuelles, et après: p> Si vous avez besoin que de Le nombre de différences de jours: p>