pandas - 计算列

时间:2018-04-20 15:13:44

标签: python pandas dataframe pandas-groupby

如何排除显示计数值942的0.0列,仅显示非零列。

输入:

 df.groupby('WASHING CONTAINER AGENT').size()

输出:

WASH - CHEMICAL
0.0     942
12.0     20
20.0      8
dtype: int64

2 个答案:

答案 0 :(得分:1)

这是否可以接受:

df[df['WASHING CONTAINER AGENT']>0].groupby('WASHING CONTAINER AGENT').size()

对于你的另一个问题,希望这可以解决问题:

df[df.iloc[:, 9:33].ne(0)].apply(lambda x: x.value_counts()).T.stack()

答案 1 :(得分:1)

假设你的'groupby'第一个输出中有0.0,12.0,20.0作为键:请试试这个。

def _reformat(display): #display is the input_dico
    """Change certain values to pptx-python classes."""
    for k1, v1 in mapper.items():
        if k1 in display:
            if isinstance(v1, str):
                display[k1] = mapper[k1]
            else:
                for k2, v2 in v1.items():
                    if k2 in display[k1]:
                        for k3 in v2:
                            if k3 == display[k1][k2]:
                                display[k1][k2] = mapper[k1][k2][k3]
    return display