MGs*_*MGs 0 python dataframe pandas
我有一个数据框,例如:
Date B C
20.07.2018 10 8
20.07.2018 1 0
21.07.2018 0 1
21.07.2018 1 0
Run Code Online (Sandbox Code Playgroud)
如何计算每个日期的每列的零和非零值?使用.sum()对我没有帮助,因为它会将非零值相加.谢谢!
例如:零值的预期输出:
Date B C
20.07.2018 0 1
21.07.2018 1 1
Run Code Online (Sandbox Code Playgroud)
我认为需要DataFrameGroupBy.agg通过0和比较sum:
df1 = df.groupby('Date').agg(lambda x: x.eq(0).sum())
print (df1)
B C
Date
20.07.2018 0 1
21.07.2018 1 1
Run Code Online (Sandbox Code Playgroud)
df2 = df.groupby('Date').agg(lambda x: x.ne(0).sum())
print (df2)
B C
Date
20.07.2018 2 1
21.07.2018 1 1
Run Code Online (Sandbox Code Playgroud)