我如何计算所有列的平均值为只有不等于零的行,并在底部附加一行并且只有一行代码的平均值?它不一定是一条线,但我想知道为什么这不起作用?如何计算pandas数据框的已过滤行的平均值,并将原始数据框的所有列的附加方法追加到哪里?
下面的代码忽略了(!df.bar = 0)片
df = df.append(df[(df.bar != 0)].mean(numeric_only=True), ignore_index=True)
例DF:
foo bar total
0 foo1 bar1 293.09
1 foo2 0 0
2 foo3 bar3 342.3
当前结果:
0 foo bar total
1 foo1 bar1 293.09
2 foo2 0 0
3 foo3 bar3 342.3
4 211.796
所需的结果:
0 foo bar total
1 foo1 bar1 293.09
2 foo2 0 0
3 foo3 bar3 342.3
4 317.695
需要'!='in替代'<>'因为python。 – jezrael
谢谢,修正了这个问题。 – Mike
应该用''df.bar!='0''加引号,因为它是一个字符串。即'df.append(df [(df.bar!='0')]。mean(numeric_only = True),ignore_index = True)' – Zero