pandas groupby 后merge 保留groupby的列

在Pandas中,我们可以使用groupby函数对数据进行分组,然后使用merge函数将分组后的数据合并,如果我们想要在合并后保留groupby的列,我们需要在merge函数中指定这些列。

pandas groupby 后merge 保留groupby的列
(图片来源网络,侵删)

以下是一个详细的步骤:

1、我们需要创建一个DataFrame,在这个例子中,我们将创建两个DataFrame,一个用于分组,另一个用于合并。

import pandas as pd
创建一个DataFrame
df = pd.DataFrame({
    'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
    'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
    'C': np.random.randn(8),
    'D': np.random.randn(8)
})

2、我们使用groupby函数对’A’列进行分组,并计算每组的平均值。

使用groupby函数对'A'列进行分组,并计算每组的平均值
grouped = df.groupby('A').mean()

3、接下来,我们创建一个新的DataFrame,用于合并。

创建一个新的DataFrame,用于合并
df2 = pd.DataFrame({
    'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
    'E': np.random.randn(8)
})

4、我们使用merge函数将分组后的DataFrame和新的DataFrame合并,在merge函数中,我们指定了’on’参数为’A’,这意味着我们将根据’A’列的值来合并两个DataFrame,我们还指定了’how’参数为’left’,这意味着我们将保留左侧DataFrame的所有行,即使在右侧DataFrame中没有匹配的行。

使用merge函数将分组后的DataFrame和新的DataFrame合并
merged = pd.merge(grouped, df2, on='A', how='left')

这样,我们就得到了一个新的DataFrame,其中包含了分组后的平均值和新的DataFrame中的’E’列的值。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/476064.html

(0)
未希新媒体运营
上一篇 2024-04-15 02:23
下一篇 2024-04-15 02:24

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入