大家好,我在JupyterLab上遇到了一個日期回圈問題,問題如下圖所示:
很奇怪,B的紅圈應該和A的紅圈一樣顯示。為什么第6周不見了?
和“如果 d.weekday() in [5, 6]: dates.remove(d)”。應該去掉5和6,怎么會有4/3和4/10呢?
我重新啟動了核心,結果是一樣的。太奇妙了...
uj5u.com熱心網友回復:
dates
迭代串列時不應修改串列。請檢查 在迭代串列時從串列中洗掉專案時的奇怪結果以獲取更多詳細資訊。
要洗掉星期六或星期日的日期,請嘗試以下操作:
import pandas as pd
from datetime import datetime
from datetime import timedelta
d = datetime(2022, 4, 1)
dates = [d timedelta(days=idx) for idx in range(10)]
for d in dates:
print(f'{d.date()} {d.weekday()}' )
new_dates = dates.copy()
for d in dates:
if d.weekday() in [5, 6]:
new_dates.remove(d)
print("Removed Saturdays and Sundays!")
for d in new_dates:
print(f'{d.date()} {d.weekday()}' )
這給出了:
2022-04-01 4
2022-04-02 5
2022-04-03 6
2022-04-04 0
2022-04-05 1
2022-04-06 2
2022-04-07 3
2022-04-08 4
2022-04-09 5
2022-04-10 6
Removed Saturdays and Sundays!
2022-04-01 4
2022-04-04 0
2022-04-05 1
2022-04-06 2
2022-04-07 3
2022-04-08 4
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470679.html