无论Python中的日历周如何,如何获取当天的周号?
我正在寻找“ nth_week_number”列。在下表中,“ 2/5/2018”将落在2018年2月的第二个星期,但这是该月的第一个星期一。请有人帮助解决此问题。 我使用Pythno 3.7。
Date | Weekday | week _of_the_month | nth_week_number |
|-----------|-----------|--------------------|-----------------|
| 2/1/2018 | Thursday | 1 | 1st Thrusday |
| 2/2/2018 | Friday | 1 | 1st Friday |
| 2/3/2018 | Saturday | 1 | 1st Saturday |
| 2/4/2018 | Sunday | 2 | 1st Sunday |
| 2/5/2018 | Monday | 2 | 1st Monday |
| 2/6/2018 | Tuesday | 2 | 1st Tuesday |
| 2/7/2018 | Wednesday | 2 | 1st Wednesday |
| 2/8/2018 | Thursday | 2 | 2nd Thrusday |
| 2/9/2018 | Friday | 2 | 2nd Friday |
| 2/10/2018 | Saturday | 2 | 2nd Saturday |
| 2/11/2018 | Sunday | 3 | 2nd Sunday |
| 2/12/2018 | Monday | 3 | 2nd Monday |
| 2/13/2018 | Tuesday | 3 | 2nd Tuesday |
答案 0 :(得分:0)
下面的代码段将为您提供星期几和日期
import datetime
import calendar
day_of_month = datetime.datetime(2018,2,11).day
week_number = (day_of_month - 1) // 7 + 1
print(week_number, datetime.datetime(2018,2,11).strftime("%A"))
答案 1 :(得分:0)
data = {'date_x': ['2018-02-13']}
df = pd.DataFrame(data, columns = ['date_x'])
df['formatted_date'] = pd.to_datetime('2018-02-13')
df['date']=pd.to_datetime(df['date_x'])
df['first_day_aux']=pd.to_datetime(df['date_x'][0][:8]+'01')
df['day']=df['date'].dt.day
df['adjusted_dom']=df['day']+df['first_day_aux'].dt.dayofweek
df['year'] = pd.DatetimeIndex(df['formatted_date']).year
df['month'] = pd.DatetimeIndex(df['formatted_date']).month
df['day'] = pd.DatetimeIndex(df['formatted_date']).day
df['weekday'] = datetime.datetime(df['year'],df['month'],df['day']).strftime("%A")
df['day_of_month'] = datetime.datetime(df['year'],df['month'],df['day']).day
df['week']=np.int_(np.ceil(df['adjusted_dom']/7.0))
df['week number'] = (df['day_of_month'] - 1 ) // 7 + 1
print(df)