想統計df中某些組合值出現的次數。
比如df =
姓名 年級 排名
A 1年級 第1名
A 1年級 第2名
C 2年級 。。
D 。。 。。
E 。。 。。
所有列都會有重復值,且所有列的值長度不固定,
現在要統計3列的值組成的行,出現的次數。
比如:A 1年級 第一名 這個行序列出現多少次,
A 1年級 第2名 這個行序列出現多少次。
依次類推。
***************************************************
我用下面的方法實作的。
先把3列合并成一個dataframe,然后用df2 = pd.value_count(df1[列名1]) 計算列名1中的重復項。
得到下面格式:
列1
aa 3
bb 4
cc 5
但是上面的2列是一個共用列名[列名1]的series。
現在要把它變成2列['aa','bb','cc']和[1,2,3],再為這2列重新命列名。
求大神指點怎么變成2列。或者上面*線處,有比將3列合并更好的方法。求指點
注意aa,bb,cc及數字1,2,3長度的內容不固定,為了舉例這里寫成了固定長度和內容的特例。
uj5u.com熱心網友回復:
直接轉換成Python格式化字串,進行統計uj5u.com熱心網友回復:
大概怎么操作,能細說一下么
uj5u.com熱心網友回復:
你是要篩選完全的相同,還是一行的部分相同,比如年級和排名相同不包括姓名uj5u.com熱心網友回復:
要篩選完全的相同,df.groupby['A','B'].count()好像可以實作我想要的功能
uj5u.com熱心網友回復:
你把整個結構轉成可是他字串結構就可以直接對比了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/133231.html
上一篇:關于檔案讀取與寫入
下一篇:如何利用r語言實作熵值法?
