私のデータフレームには2つの列があります。その間に月を取るためにそれらを引くと、私は奇妙な数を得た。次に例を示します。パンダで月を正しく引く方法
test = pd.DataFrame({'reg_date': [datetime(2017,3,1), datetime(2016,9,1)],
'leave_date':[datetime(2017,7,1), datetime(2017,6,1)]})
test['diff_month'] = test.leave_date.dt.month - test.reg_date.dt.month
test
出力:
ユーザーのregister_dateは昨年であれば、私は負の数(これも間違ったとしても)を取得します。
2つのdatetime列の間の月の正しい時差を得るために、どのような操作を実行する必要がありますか?
更新:私が直面している問題の詳細を反映するように、例を少し変更しました。あまりにも速い人を投票しないでください。
私はこの問題を解決するためにやったハックは以下のとおりです。
test['real_diff'] = test.diff_month.apply(lambda x: x if x > 0 else 12+x)
それを行うための他の方法がある場合、私は好奇心旺盛ですので、私はハックを好きではありません。
b.month = 5、a.month = 12 - > 5 - 12 = -7 .. 'a.month' - ' b.month'を試してみてください – narn
[Python:2ヶ月間のdatetimesの相違]の可能な複製(https://stackoverflow.com/questions/7015587/python-difference-of-two-datetimes-in-months) – perigon
同じ試験ここでは:https://stackoverflow.com/questions/41199351/month-subtract-month –