gpt4 book ai didi

group-by - 如何按列分组?

转载 作者:行者123 更新时间:2023-12-02 08:04:41 25 4
gpt4 key购买 nike

我无法弄清楚如何按列对行进行分组。我的目标是计算列值为橙色和蓝色的“包代码”的数量。

我正在处理数千行数据。这是数据的子集:

Country   Package Code   Color    Type
US 100 Orange a
US 100 Orange b
US 100 Orange c
Mexico 200 Green d
US 300 Blue e
Canada 400 Red f
Germany 500 Red g
Germany 600 Blue h

期望的输出:

Country   Packages
US 2
Mexico 0
Canada 0
Germany 1

最佳答案

使用isin + nunique + 重新索引

(df.loc[df.Color.isin(['Orange', 'Blue'])].groupby('Country')['Package Code']
.nunique().reindex(df.Country.unique(), fill_value=0)).to_frame('Total').reset_index()

   Country  Total
0 US 2
1 Mexico 0
2 Canada 0
3 Germany 1
<小时/>

为了更好的可读性,这里对上面的命令进行了一些分割:

# Select rows where the color is Orange or Blue
u = df.loc[df.Color.isin(['Orange', 'Blue'])]

# Find the unique values for Package Code, grouped by Country
w = u.groupby('Country')['Package Code'].nunique()

# Add in missing countries with a value of 0
w.reindex(df.Country.unique(), fill_value=0).to_frame('Total').reset_index()

关于group-by - 如何按列分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55798435/

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