簡體   English   中英

如何使用pandas計算列值的字符串中的字符數並按這些字符的計數對行進行分組?

[英]How to count number of characters in string for the column values and group rows by count of those as a result using pandas?

我有列名的 .csv 文件:

id    name
1    sample1
2    sample3
3    sample four
4    sample.five
5    sample.six.com

我需要打印結果如下(按行數降序排列):

chars(str_len_count)    rows(id_count)
  7                          2
 11                          2
 14                          1

我已經嘗試了以下,但這並不是我真正想要的:

In [106]:
df['NAME_Count'] = df['name'].str.len()
df

Out[106]:
       name        NAME_Count
0     sample1        7

第一個新列不是必需的,您可以將str.len傳遞給groupby並使用GroupBy.size進行計數:

df1 = df.groupby(df['name'].str.len().rename('chars')).size().reset_index(name='id_count')
print (df1)
   chars  id_count
0      7         2
1     11         2
2     14         1

如果想先創建新列解決方案有點改變:

df['NAME_Count'] = df['name'].str.len()
df1 = df.groupby('NAME_Count').size().reset_index(name='count')

暫無
暫無

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

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