簡體   English   中英

如何根據日期列表溢出 pandas 系列

[英]How to spilt pandas series based on list of dates

我有一個帶有日期時間索引的 pandas 系列:

2020-06-09 10:20:00     1
2020-06-09 10:25:00     2
2020-06-09 10:30:00     3
2020-06-09 10:35:00     4
2020-06-09 10:40:00     5
2020-06-09 10:45:00     6
2020-06-09 10:50:00     7
2020-06-09 10:55:00     8
2020-06-09 11:00:00     9
2020-06-09 11:05:00    10
2020-06-09 11:10:00    11
2020-06-09 11:15:00    12
2020-06-09 11:20:00    13
2020-06-09 11:25:00    14
2020-06-09 11:30:00    15
2020-06-09 11:35:00    16
2020-06-09 11:40:00    17

和 dataframe 日期范圍:

    start                   end
0   2020-06-09 10:21:00     2020-06-09 10:53:00
1   2020-06-09 10:42:00     2020-06-09 10:58:00

我想獲取所有日期范圍的值集合:

[
 [2,3,4,5,6,7],
 [6,7,8]
]

有沒有辦法比用這樣的日期迭代 dataframe 更快地做到這一點:

for x in df.iterrows():
  series[(series.index > x.start) & (series.index < x.end)]

如果使用Series.loc

L = [series.loc[s:e].tolist()  for s, e in df[['start','end']].to_numpy()]

它的工作方式與>=<=比較相同:

L = [series[(series.index >= s) & (series.index <= e)].tolist() 
                                  for s, e in df[['start','end']].to_numpy()]

但是如果需要更高和更低的比較,則需要:

L = [series[(series.index > s) & (series.index < e)].tolist() 
                                  for s, e in df[['start','end']].to_numpy()]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM