我有以下数据帧
medal number Age
Gold 5 25
Silver 4 30
Bronze 3 45
Gold 1 23
Silver 2 12
Bronze 3 16
并且,我试图通过对奖牌分组,得到“数字”和“年龄”的平均值。我可以用两条线做,但是如何用熊猫Groupby单线做。
我可以一次做一个手术
df.groupby(['medal'])['Age'].mean()
或者
df.groupby(['medal'])['number'].sum()
然后可能合并,这是一个漫长的过程。那么如何以这种方式实现呢
下面是所需的输出
medal number Age
Bronze 6 30.5
Gold 6 24.0
Silver 6 21.0
使用groupby上的agg方法和字典,如下所示:
df.groupby(['medal']).agg({'number': 'sum', 'Age':'mean'})
通过字典聚合具有聚合函数的列名称,并在输出DataFrame
中为列添加as_index=False
:
df1 = df.groupby('medal', as_index=False).agg({'Age': 'mean','number':'sum'})
print (df1)
medal Age number
0 Bronze 30.5 6
1 Gold 24.0 6
2 Silver 21.0 6
我有两个熊猫数据帧共享一个共同的列名。我想合并公共列名,但保留与第二个dataFrame中的所有不同列,其中公共列名称匹配。下面是两个数据帧的示例: 我希望预期的结果是: 也就是说,当列“A”匹配时,我希望保留I,J,K,L的行,并且不等于“NaN ”,对于DF1中的列也是如此。 我已经尝试了所有的pd.merge选项,但是它们似乎没有做我上面要求的事情。例如, 在“A”上匹配并将所有键保留在左侧
问题内容: 我无法获得熊猫列的平均值或均值。有一个数据框。我在下面尝试的任何事情都没有给我该列的平均值 以下返回几个值,而不是一个: 这样: 问题答案: 如果您只想要列的均值,请选择列(这是一个系列),然后调用:
我不能得到熊猫的平均值或平均值。有一个数据框。下面我尝试的东西都没有给我列的平均值 以下内容返回多个值,而不是一个值: 这也是:
我是新来的。任何帮助都将不胜感激 这是我的原始数据: 我想得到的是: 1创建一个新的列调用平均值,以计算每个提要的平均市值。 2求加权平均数。 这是我当前的代码,我得到NaN: 对于加权平均代码: 我得到了一个错误: AttributeError:“Series”对象没有属性“value”
我肯定错过了一些简单的东西。尝试合并熊猫中的两个数据帧,它们的列名基本相同,但右边的数据帧有一些左边没有的列,反之亦然。 我已尝试使用外部联接进行联接: 但这会产生: 我还指定了一个要连接的列(例如,on="id"),但这会重复所有列,除了"id",如attr_1_x、attr_1_y,这并不理想。我还传递了整个列列表(有很多)到on: 其产生: 我错过了什么?我想得到一个附加了所有行的df,并且
我正在寻找通过以下条件过滤df的方法: 由创建的