我想創建一個新列來保存當月的周數,即(第 1 周、第 2 周等......)
我為每周創建了一個日期范圍,并使用 if 條件來填充新列,但它不起作用我不斷收到錯誤
week1 = df[(df['start_time'] >= '2019-02-01') & (df['start_time'] <= '2019-02-07')]
week2 = df[(df['start_time'] >= '2019-02-08') & (df['start_time'] <= '2019-02-14')]
week3 = df[(df['start_time'] >= '2019-02-15') & (df['start_time'] <= '2019-02-21')]
week4 = df[(df['start_time'] >= '2019-02-22') & (df['start_time'] <= '2019-02-28')]
if df['start_time'] == week1:
df['trip_week'] = 'Week 1'
elif df['start_time'] == week2:
df['trip_week'] = 'Week 2'
elif df['start_time'] == week3:
df['trip_week'] = 'Week 3'
else:
df['trip_week'] = 'Week 4'
| 開始時間 |
|---|
| 2019-02-02 |
| 2019-02-11 |
| 2019-02-22 |
| 2019-02-03 |
| 2019-02-27 |
| 2019-02-14 |
| 2019-02-17 |
| 2019-02-08 |
| 2019-02-14 |
預期產出
| 開始時間 | 旅行周 |
|---|---|
| 2019-02-02 | 第 1 周 |
| 2019-02-11 | 第 2 周 |
| 2019-02-22 | 第 4 周 |
| 2019-02-03 | 第 1 周 |
| 2019-02-27 | 第 4 周 |
| 2019-02-14 | 第 2 周 |
| 2019-02-17 | 第 3 周 |
| 2019-02-08 | 第 2 周 |
| 2019-02-14 | 第 2 周 |
uj5u.com熱心網友回復:
這將起作用:
df["trip_week"] = "Week " ((df["start_time"].dt.day // 7) 1).astype(str)
添加一列,"Week "后跟一周的整數(將月份的日期除以 7 - 樓層除法 - 并加 1)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/510314.html
