【问题标题】:How to group data from this several data frame in list by using or loop or list comprehension如何通过使用或循环或列表理解将这几个数据框中的数据分组到列表中
【发布时间】:2021-05-25 08:01:47
【问题描述】:

我有一个列表,其中包含多个数据帧(实际上是 50 个数据帧)名称为“interest_period”。每个包含 5 列数据,分别为“DATE-Time”、“KWH”、“normdata”、“weeknumber”和“dayofweek”。

我的个人数据集(例如interest_period[0])如下所示

还有其他包含相同格式的数据。我的目标是尝试通过以下代码在列名“weeknumber”上使用 DataFame.groupby 对数据进行分组:

grouped_week = [interest_period[x].groupby('weeknumber') for x in range(len(interest_period))]

但是,此代码不起作用,编译器总是显示此错误:

AttributeError: 'NoneType' 对象没有属性 'groupby'

那么,我该如何解决这个问题来完成我的任务。 提前致谢。

【问题讨论】:

  • 这不是编译器错误。这是一个运行时错误,它告诉您列表中的至少一项实际上不是数据框,而是None。并且执行(None).groupby 会导致该属性错误。
  • 另外,一般来说,[<somethign with mylist[i]> for i in range(len(mylist))] 应该只是[<something with x> for x in mylist]

标签: python list dataframe


【解决方案1】:

只需使用简单的列表推导:

grouped_week = [period.groupby('weeknumber') for period in interest_period]

如果仍然存在 AttributeError,请在 None 上使用额外的 if 过滤器

【讨论】:

  • 感谢您的帮助。但是,它仍然显示相同的错误。云,请告诉我如何在 None 上使用额外的 if 过滤器?
猜你喜欢
  • 2014-03-23
  • 2021-03-29
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 2019-06-09
  • 2020-04-25
  • 2018-12-26
  • 1970-01-01
相关资源
最近更新 更多