【问题标题】:Select Data based on more than one weekday name in Python在 Python 中选择基于多个工作日名称的数据
【发布时间】:2018-09-20 08:34:56
【问题描述】:

我正在尝试获取工作日周日和周一的数据,但它只给了我一天的数据。我可以从某人提出的问题中找到一个工作日名称的答案。

下面是代码:

 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'))]

我得到的结果如下图:

如何获取周日和周一的数据?

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:

    如果需要,请使用 Series.isin weekday_name SundayMonday - 每个日期不能是 SundayMonday

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 2022-07-30
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      相关资源
      最近更新 更多