Выберите данные на основе более чем одного имени дня недели в Python - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь получить данные за будний день, воскресенье и понедельник, но они дают мне данные только за один день.Я могу найти ответ для одного имени дня недели из вопроса, заданного кем-то.

Ниже приведен код:

 import pandas as pd
 df=pd.DataFrame({'CustomerID':[1,2,3,4,5,6,7,8,9,10],
 'PurchaseDate':['2007-5-7','2007-6-7','2007-7-7','2007-8-7','2007-9-9','2007-10-7',
    '2007-11-7','2007-12-7','2008-1-7','2008-2-7' ],
    'OrderQuantity':[1,1,1,1,1,1,1,1,1,1]})

df['PurchaseDate']=pd.to_datetime(df.PurchaseDate)
df.dtypes

df.PurchaseDate.dt.weekday_name.value_counts()  

df1=df[(df.PurchaseDate.dt.weekday_name==('Sunday' and 'Monday'))]

Результат, который я получил, как на картинке ниже:

enter image description here

Как мне получить данные за воскресенье и понедельник?

1 Ответ

0 голосов
/ 20 сентября 2018

Используйте Series.isin, если хотите weekday_name Sunday ИЛИ Monday - каждая дата не может быть Sunday, а также Monday:

df1=df[(df.PurchaseDate.dt.weekday_name.isin(['Sunday','Monday']))]
print (df1)
   CustomerID PurchaseDate  OrderQuantity
0           1   2007-05-07              1
4           5   2007-09-09              1
5           6   2007-10-07              1
8           9   2008-01-07              1

Проверьте:

print (df.PurchaseDate.dt.weekday_name)
0       Monday
1     Thursday
2     Saturday
3      Tuesday
4       Sunday
5       Sunday
6    Wednesday
7       Friday
8       Monday
9     Thursday
Name: PurchaseDate, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...