【问题标题】:How to get Value Counts in Date Time Python如何在日期时间 Python 中获取值计数
【发布时间】:2020-10-22 02:45:28
【问题描述】:

我有以下数据框,我想从中获取每个工作日的值计数,即否。星期一(1)、星期二(2)等的观察结果。我写了一个代码,但我收到了一个错误。

数据帧

rowId   UserId  Name    Date                    Class   TagBased
1       1      Teacher  2009-09-30T15:17:50.660     3   False
2       3      Teacher  2009-09-30T15:17:50.690     3   False
3       13     Teacher  2009-09-30T15:17:50.690     3   False
4       14     Teacher  2009-09-30T15:17:50.690     3   False
5       22     Teacher  2009-09-30T15:17:50.690     3   False

代码

weekdays = {}

for index,row in df_Badge.iterrows():
  weekdays[row['Date'].isoweekday()] = weekdays.get[row['Date'].isoweekday(),0]+1
  
weekdays

错误

TypeError                                 Traceback (most recent call last)
<ipython-input-63-959273f80e23> in <module>()
      2 
      3 for index,row in df_Badge.iterrows():
----> 4   weekdays[row['Date'].isoweekday()] = weekdays.get[row['Date'].isoweekday(),0]+1
      5 
      6 weekdays

TypeError: 'builtin_function_or_method' object is not subscriptable

预期输出

{1:10,2:34,3:2,4:55,5:11,6:1,7:99}

注意:如果输出是值计数形式而不是字典形式,则首选输出。

【问题讨论】:

    标签: python-3.x pandas datetime group-by time-series


    【解决方案1】:

    你可以这样做:

    df.Date.dt.day_name().value_counts()
    

    您的样本数据会给出:

    Wednesday    5
    Name: Date, dtype: int64
    

    【讨论】:

    • 您能建议我如何在下一步中绘制条形图吗?
    • plot.bar()链接?
    猜你喜欢
    • 2023-03-24
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2019-11-24
    • 2019-01-21
    • 2021-03-27
    相关资源
    最近更新 更多