簡體   English   中英

Pandas DataFrame中的編號組

[英]Numbering Groups In Pandas DataFrame

在Pandas中,是否有一種方法可以基於列值對DataFrame中的組進行編號? 如果我的框架看起來像這樣

  Column1 Column2  Column3
0       A       X       23
1       A       X       45
2       A       Y       32
3       A       Y       53
4       A       Y       67
5       B       X       85
6       B       Y       12
7       B       Y       94

我想做的是

df.group_numbers(['Column1', 'Column2'])

  Column1 Column2  Column3  GroupNumber
0       A       X       23            1
1       A       X       45            1
2       A       Y       32            2
3       A       Y       53            2
4       A       Y       67            2
5       B       X       85            3    
6       B       Y       12            4
7       B       Y       94            4

正如ajcr的評論中所建議的ajcrpd.factorize是必經之路。 在您的情況下,您可以添加兩列以通過添加兩列之間帶有一些定界符來快速創建鍵數組。 分隔符是為了避免混淆DSM建議的對,例如ab, ca, bc

df['GroupNumber'] = pd.factorize(df.Column1 + ' ' + df.Column2) 

它仍然比使用pd.lib.fast_zip更快。

暫無
暫無

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

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