enter image description here例如,我有两列,我想创建另一列显示星期数。
例如:2018年8月3日,应该给定1周,依此类推。
我正在使用pandas库来执行此操作,但这是从一月开始的第几周,因此我在8月的第31周得到了获取,而不是在8月的第1周得到了获取。
我尝试过:
data_18['App Start Week'] = data_18['Started Week'].dt.week
从1月开始,我给了我几周的时间。
然后我从中减去30以得到起始月份为8月,以计算周数。
但是,由于日期再次要到明年,所以从第一周开始,依此类推。
随着一年的变化,我面临着很多问题。
我该如何解决?
答案 0 :(得分:0)
您可以将差额与固定日期进行比较,将其转换为天数并使用底数分割:
df = pd.DataFrame({'dates': ['08-03-2018', '08-20-2018', '11-11-2018',
'12-25-2018', '01-01-2019']})
df['dates'] = pd.to_datetime(df['dates'])
df['week_num'] = (df['dates'] - pd.Timestamp('08-01-2018')).dt.days // 7 + 1
print(df)
dates week_num
0 2018-08-03 1
1 2018-08-20 3
2 2018-11-11 15
3 2018-12-25 21
4 2019-01-01 22