在Pandas中,我们可以使用groupby
函数对数据进行分组,然后使用merge
函数将分组后的数据合并,如果我们想要在合并后保留groupby
的列,我们需要在merge
函数中指定这些列。
以下是一个详细的步骤:
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’列的值。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。