pandas groupby 后merge 保留groupby的列
- 行业动态
- 2024-04-15
- 3618
在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’列的值。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/288877.html