我是python和pandas的新手。如何在多列上应用groupby和aggregate来忽略空白/无/ NaN值? 基本上,我想在日期之前聚合列,并计算剩余的列,忽略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函数: 每日= df.groupby('时间&#39)。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
提前谢谢!
答案 0 :(得分: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