gpt4 book ai didi

python - pandas:如何一起执行分组和联合

转载 作者:行者123 更新时间:2023-12-01 06:39:43 25 4
gpt4 key购买 nike

我有以下格式的数据框:

     domain  c1  c2  c3  c4  c5  c6  c7  c8
--- -- -- -- -- -- -- -- --
0 facebook 0 1 1 0 0 0 1 0
1 facebook 1 0 0 0 0 0 1 1
2 google 1 0 0 1 0 1 0 0
3 google 0 1 0 0 1 0 0 1
4 google 0 0 0 1 1 0 0 1

domain 之外的列只能具有 0 或 1 的值。我想一起执行 group by (在域上)和 union (在其余列上),以便输出显示组中每列的值的并集。

在上面给出的示例数据中,我希望输出为:

     domain  c1  c2  c3  c4  c5  c6  c7  c8
--- -- -- -- -- -- -- -- --
0 facebook 1 1 1 0 0 0 1 1
1 google 1 1 0 1 1 1 0 1

我见过的分组示例将分组依据应用于一列,然后将聚合函数(总和、平均值、最大值等)应用于其他列。我无法弄清楚如何将联合应用于其余列。

import pandas as pd
from io import StringIO

data = StringIO(u'''domain,c1,c2,c3,c4,c5,c6,c7,c8
facebook,0,1,1,0,0,0,1,0
facebook,1,0,0,0,0,0,1,1
google,1,0,0,1,0,1,0,0
google,0,1,0,0,1,0,0,1
google,0,0,0,1,1,0,0,1''')

df = pd.read_csv(data)

最佳答案

怎么样

df.groupby('domain').agg(any).astype(int)

这会给你

          c1  c2  c3  c4  c5  c6  c7  c8
domain
facebook 1 1 1 0 0 0 1 1
google 1 1 0 1 1 1 0 1

关于python - pandas:如何一起执行分组和联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59511329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com