J'ai un dataframe et je veux ajouter une colonne contenant la différence de temps entre deux une autre colonne:Ajouter une nouvelle colonne de valeurs timedelta dans un format particulier dans Pandas
df[Diff] = df['End Time'] - df['Open Time']
df[Diff]
0 0 days 01:25:40
1 0 days 00:41:57
2 0 days 00:21:47
3 0 days 16:41:57
4 0 days 04:32:00
5 0 days 03:01:57
6 0 days 01:37:56
7 0 days 01:13:57
8 0 days 01:07:56
9 0 days 02:33:59
10 29 days 18:33:53
11 0 days 03:50:56
12 0 days 01:57:56
Je voudrais avoir cette colonne format '1h 25m', donc je l'ai essayé de calculer jours en heures:
diff = df['End Time'] - df['Open Time']
hours = diff.dt.days * 24 + diff.dt.components.hours
minutes = diff.dt.components.minutes
et reçu ces résultats:
0 1
1 0
2 0
3 16
4 4
5 3
6 1
7 1
8 1
9 2
10 714
11 3
12 1
dtype: int64h 0 25
1 41
2 21
3 41
4 32
5 1
6 37
7 13
8 7
9 33
10 33
11 50
12 57
Name: minutes, dtype: int64m
Mais je ne peux pas exprimer ces résultats dans ce format dans la nouvelle colonne:
'{}h {}m'.format(hours,minutes))
Essayez '[ '{0} h {1} m'.format (* x) pour x en zip (heures, minutes) ] '? – Zero
@Zero J'essayais de poster cela avec l'aide d'un dataframe. Je me bats – Dark
Ou, 'hours.astype (str) + 'h' + minutes.astype (str) + 'm''? – Zero