使用 pandas 聚合分组数据时避免将字符串添加在一起

问题描述 投票:0回答:1

使用

pd.groupby(['col_1','col_2']).sum()
时会将字符串相加。例如某个类别变量col_3,可能的值为A、B、C,分组聚合后可能会变成AACBB。

这是要避免的事情。

我应该更改哪些参数或者我应该做什么?

python pandas group-by
1个回答
0
投票

下面的示例数据和结果符合您的需求吗?

创建一些测试数据(50行):

import pandas as pd
import numpy as np

np.random.seed(0)
df = pd.DataFrame({
    'col_1': np.random.choice([10, 15, 20, 25], size=50),
    'col_2': np.random.choice([10, 20], size=50),
    'col_3': np.random.choice(['A', 'B', 'C'], size=50),
    'col_4': np.random.choice([1, 2, 3, 4], size=50)
})

为了避免在第 3 列上聚合,您可以使用

df.drop(columns='col_3').groupby(['col_1', 'col_2']).sum()

原来的

groupby
,我认为它复制了你的问题:

df.groupby(['col_1', 'col_2']).sum()

© www.soinside.com 2019 - 2024. All rights reserved.