Pandas: Soustraction de deux colonnes date et le résultat étant un entier
J'ai deux colonnes dans une Pandas bloc de données qui sont des dates.
Je suis à la recherche de soustraire une colonne à partir d'un autre et le résultat de la différence en nombre de jours comme un entier.
Un coup d'oeil sur les données:
df_test.head(10)
Out[20]:
First_Date Second Date
0 2016-02-09 2015-11-19
1 2016-01-06 2015-11-30
2 NaT 2015-12-04
3 2016-01-06 2015-12-08
4 NaT 2015-12-09
5 2016-01-07 2015-12-11
6 NaT 2015-12-12
7 NaT 2015-12-14
8 2016-01-06 2015-12-14
9 NaT 2015-12-15
J'ai créé une nouvelle colonne avec succès avec la différence:
df_test['Difference'] = df_test['First_Date'].sub(df_test['Second Date'], axis=0)
df_test.head()
Out[22]:
First_Date Second Date Difference
0 2016-02-09 2015-11-19 82 days
1 2016-01-06 2015-11-30 37 days
2 NaT 2015-12-04 NaT
3 2016-01-06 2015-12-08 29 days
4 NaT 2015-12-09 NaT
Cependant, je ne suis pas en mesure d'obtenir une version numérique du résultat:
df_test['Difference'] = df_test[['Difference']].apply(pd.to_numeric)
df_test.head()
Out[25]:
First_Date Second Date Difference
0 2016-02-09 2015-11-19 7.084800e+15
1 2016-01-06 2015-11-30 3.196800e+15
2 NaT 2015-12-04 NaN
3 2016-01-06 2015-12-08 2.505600e+15
4 NaT 2015-12-09 NaN
OriginalL'auteur Kevin | 2016-06-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez diviser la colonne de
dtype
timedelta
parnp.timedelta64(1, 'D')
, mais la sortie n'est pasint
, maisfloat
, parce queNaN
valeurs:De conversion de fréquence.
OriginalL'auteur jezrael
Comment sur:
Ce sera le retour de la différence int.
OriginalL'auteur Prayson W. Daniel
Vous pouvez utiliser le module datetime là pour vous aider. Aussi, comme une note de côté, une simple date de soustraction devrait fonctionner comme ci-dessous:
Maintenant, le changement de type datetime.timedelta, et ensuite utiliser .méthode des jours sur valide timedelta objets.
Espère que ça aide.
Diffference
estobject
et de traitement suivante (ajout, soustraction...) est impossible.il y a d'autres façons de faire, par exemple, votre solution. Cependant, l'ajout/soustraction n'est pas un problème avec NaNs mélangé avec int types dans une colonne. Ils seront automatiquement être utilisé pour faire flotter les opérations nécessaires.
Je n'ai pas tester, merci pour le commentaire.
OriginalL'auteur clocker