【问题标题】:pandas groupby aggregate ignoring blank or none values熊猫 groupby 聚合忽略空白或无值
【发布时间】:2015-12-10 09:56:50
【问题描述】:

我是 python 和 pandas 的新手。我们如何在忽略空白/None/NaN 值的情况下在多个列上应用 groupby 和聚合? 基本上,我想按日期聚合列并计算其余列,忽略 None/blank/NaN 值。

示例: 我有这样的数据:

    ID  Ra  out recommen    navi    Time
0   1   7   None    None    NaN 2013-11-11
1   2   1   None    None    3   2013-11-11
2   5   5   None    None    1   2013-11-12
3   6   9   None    None    NaN 2013-11-12
4   9   2   None    None    NaN 2013-11-12
5   10  10  None    None    NaN 2013-11-12
6   11  10  None    None    NaN 2013-11-12
7   12  10  None    None    NaN 2013-11-12
8   13  5   None    None    NaN 2013-11-12

我正在尝试对这些值应用 groupby 和 count agregation 函数: daily=df.groupby('Time').count()

这给了我:

ID  Ra  out recommen    navi    Time
2   2   2   2           2       2013-11-11
7   7   7   7           7       2013-11-12

预期输出为:

ID  Ra  out recommen    navi    Time
2   0   0   0           1       2013-11-11
7   0   0   0           1       2013-11-12

提前谢谢你!

【问题讨论】:

    标签: python mysql pandas


    【解决方案1】:

    使用方法dropna()

    阅读文档以获取更多信息:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html

    提前使用您的 id 列作为索引。

    您可以执行以下操作:

    df = df.set_index(df["ID"])
    

    文档 -> http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.set_index.html

    【讨论】:

      猜你喜欢
      • 2016-08-27
      • 2023-02-25
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      相关资源
      最近更新 更多