簡體   English   中英

計算大熊貓中每組以逗號分隔的字符串中的所有單詞

[英]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.

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