簡體   English   中英

具有Pandas Dataframe的數據透視表(?)

[英]pivot table(?) with a Pandas Dataframe

我有一個類似於此的DataFrame

id    name    value
a     Adam    5
b     Eve     6
c     Adam    4
a     Eve     3
d     Seth    2
b     Adam    4
a     Adam    2

我正在嘗試查看有多少id與多少個名稱以及它們之間的重疊關系。 我在id列上進行了一個groupby,然后可以看到有多少id與它們相關聯的名字。

df.groupby('id')['name'].nunique().value_counts()

我現在想要的是一種獲取表的方法,其中名稱是列名,索引是ID,值是每個ID和名稱的總和。 我可以通過初始化一個DataFrame來實現for循環,在此DataFrame中,列是name列中的值,但是我想知道是否有熊貓方式來完成這樣的事情?

那是你要的嗎?

In [54]: df.pivot_table(index='id', columns='name', values='value', aggfunc='sum')
Out[54]:
name  Adam  Eve  Seth
id
a      7.0  3.0   NaN
b      4.0  6.0   NaN
c      4.0  NaN   NaN
d      NaN  NaN   2.0

或沒有NaN:

In [56]: df.pivot_table(index='id', columns='name', values='value', aggfunc='sum', fill_value=0)
Out[56]:
name  Adam  Eve  Seth
id
a        7    3     0
b        4    6     0
c        4    0     0
d        0    0     2

暫無
暫無

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

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