簡體   English   中英

DataFrame groupby 2 列 und 計數出現在第三

[英]DataFrame groupby 2 columns und count occurence in third

我正在嘗試將 DataFrame 按兩列分組,並計算第三列中出現的差異。 到目前為止,我得到的是:

import pandas as pd

df = pd.DataFrame({'colA': ['name1', 'name2', 'name2', 'name4', 'name2', 'name5'], 'colB': ['red', 'yellow', 'yellow', 'black', 'yellow', 'green'], 'colC': ['value1', 'vlaue2', 'value2', 'value4', 'value5', 'value6']})

df_grouped = df.groupby(["colA", "colB"])["colC"].count()

print(df_grouped)

其中 output 是:

colA   colB  
name1  red       1
name2  yellow    3
name4  black     1
name5  green     1

我想要做的是,將 colA 和 colB 視為 1 列並計算(並顯示)colC 中不同值的出現。 所以在這種情況下應該是:

    colA    colB    colC  count  
0  name1     red  value1  1
1  name2  yellow  vlaue2  2
2                 value5  1
3  name4   black  value4  1
4  name5   green  value6  1

提前致謝。

如果我理解正確,您只需按 3 列 A、B 和 C 分組:

df_grouped = df.groupby(["colA", "colB","colC"])["colC"].count().reset_index(name="count")
Output :
>
    colA    colB    colC  count
0  name1     red  value1      1
1  name2  yellow  value2      2
2  name2  yellow  value5      1
3  name4   black  value4      1
4  name5   green  value6      1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM