Python Pandas两个条件数据帧groupby运行排序

时间:2015-06-01 09:22:16

标签: python pandas group-by dataframe

我正在寻找一种方法来运行两个条件pandas DataFrame groupby方法。我有很多日志要解析,我有以下单个条件groupby方法,但有没有办法有两个条件groupby方法?

DF[DF['Feature Enabled'] == 1].groupby([’Feature Active'])[['Value1','Value2']].mean()

当我浏览每个文件时,是否有办法为当前日志打印正在运行的groupby,如...

DF[DF['Iteration'] == CURRENTLOG_ID and DF['Feature Enabled'] == 1].groupby([’Feature Active'])[['Value1','Value2']].mean()

这样可以帮助我在每个日志之后绘制到Excel中,然后处理日志目录。

由于

2 个答案:

答案 0 :(得分:2)

要使用多个条件,您需要使用逐位&而不是and,还需要根据运算符优先级将条件括在括号中:

DF[(DF['Iteration'] == CURRENTLOG_ID) & (DF['Feature Enabled'] == 1)].groupby([’Feature Active'])[['Value1','Value2']].mean()

应该有效

答案 1 :(得分:1)

尝试使用masks

mask_A  = DF['Feature Enabled'] == 1
mask_B  = DF['Iteration'] == CURRENTLOG_ID

subset = DF[mask_A & mask_B].groupby(...).mean()