簡體   English   中英

如何在 pandas dataframe 中的日期時間范圍之間進行過濾

[英]How to filter between datetime range in pandas dataframe

我有一個 dataframe 我想根據day范圍進行過濾並根據該條件設置month列。

簡單來說,day(1-5) 之間的任何一天,從month減去 1,否則設置month = month

  day   month
0   1   6
1   4   6
2   4   6
3   4   6
4   4   6
5   4   6
6   6   6
7   8   6
8   12  6
9   12  6


if all(df[df['day'].between(1, 5)]):
    
    df.month = df.month - 1
    
else:
    df.month = df.month

預期 output

  day   month
0   1   5
1   4   5
2   4   5
3   4   5
4   4   5
5   5   5
6   6   6
7   8   6
8   12  6
9   12  6

您可以在'day'列上使用 Boolean 索引,並從'month'列的相關部分中減去 1:

df.loc[df.day<6, 'month'] -= 1

暫無
暫無

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

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