私はPandasデータフレームに日付である2つの列を持っています。パンダ:2つの日付列を減算し、結果を整数として返します。
別の列から1つの列を減算すると、の数値がのように異なる場合があります。
データでのぞき見:
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
は、しかし、私は、結果の数値のバージョンを取得することができません:
私は違いで正常に新しい列を作成している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
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
はい、可能な解決策ですが、 'Differnce'列の出力が' object'で次の処理(加算、減算など)が不可能であるため、推奨されていません。 – jezrael
@ jesraelには、ソリューションなどの他の方法があります。ただし、列のint型にNaNが混在している場合、加算/減算は問題になりません。それらは必要に応じて自動的に浮動小数点演算にキャストされます。 – clocker
私はそれを試していない、コメントありがとうございました。 – jezrael