Mam dwie kolumny w ramce danych Pandy, które są datami.Pandy: Odejmowanie dwóch kolumn daty i wynik będący liczbą całkowitą
Szukam odjąć jedną kolumnę od drugiej, a wynikiem jest różnica w liczbie dni jako liczba całkowita.
Rzut oka na dane:
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
Stworzyłem nową kolumnę z powodzeniem z tą różnicą:
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
jednak jestem w stanie dostać numeryczną wersję Rezultat:
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
Tak, jest to jedno możliwe rozwiązanie, ale myślę, że nie jest to zalecane podejście, ponieważ wyjście z kolumny 'Diffference' jest' obiektem', a następne przetwarzanie (dodawanie, odejmowanie ...) jest niemożliwe. – jezrael
@jesrael, istnieją inne sposoby robienia, np. Twoje rozwiązanie. Jednak dodawanie/odejmowanie nie jest problemem w przypadku NaNs wymieszanych z typami int w kolumnie. Zostaną one automatycznie odlane w celu wykonania operacji w razie potrzeby. – clocker
Nie testuję tego, dziękuję za komentarz. – jezrael