-1

我有一个这样的数据框

数数 一个
是的 4
是的 4
是的 5
是的 5

我想要这样的输出,我想在 count 的列值为 result 时计算平均值,取 A 的先前值的平均值

数数 一个
是的 4
是的 4
结果 4.0
是的 5
是的 5
结果 5.0

我没有得到熊猫的结果

4

1 回答 1

0

这是对先前答案的简单扩展。

df = pd.read_csv(io.StringIO("""count   A
yes 4
yes 4
yes 5
yes 5"""),sep="\t")

df = (df.fillna(-100)
 .groupby("A", as_index=False).apply(lambda dfa: dfa.append({"count":"result","A":dfa.A.mean()}, ignore_index=True))
 .replace({-100:np.nan})
 .reset_index(drop=True)
)

数数 一个
0 是的 4
1 是的 4
2 结果 4
3 是的 5
4 是的 5
5 结果 5
于 2021-03-06T11:29:00.570 回答