[英]Count all words in comma separated strings per group in pandas
我想從下面給出的數據框中計算學校(用逗號分隔)。
數據幀:
State Counties Schools_list
S1 C1 GradeA,GradeB,GradeC
S1 C1 GradeD
S2 C1 GradeA,GradeB
S2 C2 GradeC
S3 C2 GradeA,GradeB
S3 C3 GradeC,GradeD
輸出:
State Schools_count
S1 4
S2 3
S3 4
如何按州計算逗號分隔的學校列表和最后一列的學校。
一個簡單的解決方案是計算逗號:
df['Schools_list'].str.count(',').add(1).groupby(df.State).sum()
State
S1 4
S2 3
S3 4
Name: Schools_list, dtype: int64
請注意,計算完逗號后,請按州名稱分組,以按州進行計數。
作為一個DataFrame,
(df['Schools_list'].str.count(',')
.add(1)
.groupby(df.State)
.sum()
.reset_index(name='Schools_count'))
State Schools_count
0 S1 4
1 S2 3
2 S3 4
您也可以使用逗號分割並找到所創建列表的長度,但這要慢一些。
df['Schools_list'].str.split(',+').str.len().groupby(df.State).sum()
State
S1 4
S2 3
S3 4
Name: Schools_list, dtype: int64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.