月を適切に計算するのに問題があります。私がこれまでに持っていたことは、出力と同様に以下にあります。 月の大半は正しく計算されますが、一部の計算では計算されません。私はそれが私を悩ませているので、これを理解する必要があります。 アイデアをいただければ幸いです。パンダとnumpyで月を計算する
import pandas as pd
import numpy as np
df = pd.DataFrame({
'StartDate' : ['2017-06-19', '2017-10-01', '2017-09-29', '2017-08-01', '2017-08-01'],
'EndDate' : ['2018-06-18', '2017-12-31', '2018-09-30', '2018-07-31', '2017-09-30'],
'ExpectedMonths' : [13, 3, 13, 12, 2]
})
df['StartDate'] = pd.to_datetime(df['StartDate'], format='%Y-%m-%d')
df['EndDate'] = pd.to_datetime(df['EndDate'], format='%Y-%m-%d')
df['calculatedMonths'] = (df["EndDate"] - df["StartDate"])/np.timedelta64(1, 'M')
df['ceilMonths'] = df['calculatedMonths'].apply(np.ceil)
これまで出力:あなたが見ることができるように 、最初の行は13でなければなりませんが、私は結果で12を見ています。 5月-6月は12なると13
EndDate ExpectedMonths StartDate calculatedMonths ceilMonths
0 2018-06-18 13 2017-06-19 11.959178 12.0
1 2017-12-31 3 2017-10-01 2.989794 3.0
2 2018-09-30 13 2017-09-29 12.024888 13.0
3 2018-07-31 12 2017-08-01 11.959178 12.0
4 2017-09-30 2 2017-08-01 1.971293 2.0
私が期待される出力と計算ヶ月が一致してもらうために調整するには何が必要ですかなければなりません、別の月(6月)を追加する必要がありますか?