簡體   English   中英

Pandas 顯示唯一計數和唯一值?

[英]Pandas show both unique counts and unique values?

假設我有一個這樣的數據框:

import pandas as pd

df = pd.DataFrame([
    ('a', 'aa'),
    ('b', 'aa'),
    ('c', 'bb'),
    ('d', 'bb'),
    ('e', 'cc'),
    ('f', 'cc'),
    ('h', 'cc')
], columns=['group', 'id'])

我做了一個 groupby 來顯示唯一值的數量以及唯一值本身。 這是我現在正在做的事情:

df1 = df.groupby(["id"])["group"].nunique()
print(df1)
id
aa    2
bb    2
cc    3
df2 =  df.groupby(['id'])['group'].agg(['unique'])
print(df2)
id           
aa     [a, b]
bb     [c, d]
cc  [e, f, h]

但是,我試圖將這兩個顯示在一起(一列顯示計數,一列顯示如下所示的值。有什么辦法可以做到?

id    count values
aa    2     [a, b]
bb    2     [c, d]
cc    3     [e, f, h]
res = df.groupby('id')['group'].agg(count='nunique', values='unique')

輸出

>>> res

    count     values
id                  
aa      2     [a, b]
bb      2     [c, d]
cc      3  [e, f, h]

暫無
暫無

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

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