我正在嘗試用熊貓過濾一些日期。我最初嘗試使用此代碼執行此操作bd = pd.DataFrame({'year': [2018, 2018], # billing data 'month': [9, 10], 'day': [14, 15]})bd = pd.to_datetime(bd)month1 = (df2.Date >= bd[0]) & (df.Date < bd[1])我會收到 TypeError 的錯誤:無法將類型 'Timestamp' 與類型 'str' 進行比較但是,當我執行 between() 函數時bd = pd.DataFrame({'year': [2018, 2018], 'month': [9, 10], 'day': [14, 15]})bd = pd.to_datetime(bd)month1 = df2[df2['Date'].between(bd[0], bd[1])]它起作用了,但它會包括我不想要的 10 月 15 日。between() 函數很有用,但我現在想知道如果我只需要一側包含,而另一側排他,我有什么選擇。感謝您的幫助。
1 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
修復between很簡單。您在想要“獨家”的一側減去一天。在你的情況下,它是這樣的
a_day = pd.DateOffset(1)
month1 = df2[df2['Date'].between(bd[0], bd[1] - a_day)
否則,如果你真的想完全控制雙方的包容性,你需要使用pd.IntervalArray或pd.IntervalIndex
添加回答
舉報
0/150
提交
取消