[英]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.