我在做作业时遇到一个问题,我有一个大矩阵,第一列Y002是一个标称变量,它有3个级别,分别编码为1,2,3。另外两列V96和V97只是数字。你知道吗
现在,我想得到一组平均值,对应于变量Y002。我这样写代码
group = data2.groupby(by=["Y002"]).mean()
然后我用索引得到每组的平均值
group1 = group["V96"]
group2 = group["V97"]
现在我想把这组mean作为一个新的列附加到原始数据帧中,其中每个mean都匹配相应的Y002代码(1、2或3)。实际上我试过这个代码,但它只显示NAN。你知道吗
data2["group1"] = pd.Series(group1, index=data2.index)
希望有人能帮我,非常感谢:)
附言:希望这有道理。就像R语言一样,我们可以使用
data2$group1 = with(data2, tapply(V97,Y002,mean))[data2$Y002]
但是我们如何在Python和pandas中实现这个呢???你知道吗
您可以使用
.transform()
相关问题 更多 >
编程相关推荐