我有一个这样的数据框
数数 | 一个 |
---|---|
是的 | 4 |
是的 | 4 |
是的 | 5 |
是的 | 5 |
我想要这样的输出,我想在 count 的列值为 result 时计算平均值,取 A 的先前值的平均值
数数 | 一个 |
---|---|
是的 | 4 |
是的 | 4 |
结果 | 4.0 |
是的 | 5 |
是的 | 5 |
结果 | 5.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 |