我try 取每个组的平均值,并try 将它们分配到另一个数据帧中的新列,但第一个组的平均值在所有组中填充.

下面是我的数据帧df1

level    value
CF        5
CF        4
CF        6
EL        2
EL        3
EL        1
EF        4
EF        3
EF        6

我取每个组的平均值,并将其保存到另一个数组df2中的新列中.

df2['value'] = df1.groupby(['level'])['value'].transform('mean')

但这给了我下面的结果

level    value
CF        5.0
EL        5.0
EF        5.0

这实际上应该是

level    value
CF        5.0
EL        2.0
EF        4.333333

如果我没有将值保存到新的列中,我会得到预期的结果.我不确定这是否是将组值分配给新列的正确方式.

推荐答案

您不应该使用groupby.transform,当您想要分配给same数据帧时,这是最有用的.

在这里,您需要map:

df2['value'] = df2['level'].map(df1.groupby(['level'])['value'].mean())

Python相关问答推荐

如何随着收件箱的增加动态添加到HTML表的右下角?

如何从. text中进行pip安装跳过无法访问的库

使用图片生成PDF Django rest框架

基本链合同的地址是如何计算的?

从管道将Python应用程序部署到Azure Web应用程序,不包括需求包

Python中使用时区感知日期时间对象进行时间算术的Incredit

更改matplotlib彩色条的字体并勾选标签?

如何比较numPy数组中的两个图像以获取它们不同的像素

比较2 PD.数组的令人惊讶的结果

为什么带有dropna=False的groupby会阻止后续的MultiIndex.dropna()工作?

将数据框架与导入的Excel文件一起使用

无法通过python-jira访问jira工作日志(log)中的 comments

如何在虚拟Python环境中运行Python程序?

大小为M的第N位_计数(或人口计数)的公式

PyQt5,如何使每个对象的 colored颜色 不同?'

如何从数据库上传数据到html?

无法在Docker内部运行Python的Matlab SDK模块,但本地没有问题

我的字符串搜索算法的平均时间复杂度和最坏时间复杂度是多少?

可以bcrypts AES—256 GCM加密损坏ZIP文件吗?

如何在BeautifulSoup/CSS Select 器中处理regex?