我有一個資料框,df 有兩個日期列和一個日期串列,我試圖確定串列中的日期有多少次落在兩個資料框列中的日期之間。
東風:
Date1 Date2
2022-09-01 2022-09-07
2022-09-10 2022-09-22
2022-09-06 2022-09-21
2022-09-17 2022-09-25
2022-06-30 2022-09-21
串列 = [2022-09-16, 2022-07-01]
這就是我想要的!
df2:
Date1 Date2 Count
2022-09-01 2022-09-07 0
2022-09-10 2022-09-22 1
2022-09-06 2022-09-21 1
2022-09-17 2022-09-25 0
2022-06-30 2022-09-21 2
uj5u.com熱心網友回復:
從日期串列中創建系列,然后對于資料框中的每一行,在系列之間呼叫傳遞解壓縮的行值,然后最后呼叫sum:axis=1
>>> list_ = pd.to_datetime(['2022-09-16', '2022-07-01']).to_series()
>>> df['Count'] = df.apply(lambda x: list_.between(*x), axis=1).sum(1)
輸出
Date1 Date2 Count
0 2022-09-01 2022-09-07 0
1 2022-09-10 2022-09-22 1
2 2022-09-06 2022-09-21 1
3 2022-09-17 2022-09-25 0
4 2022-06-30 2022-09-21 2
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/516233.html
上一篇:如何通過id和狀態提取日期
