Python 如何计算列值的字符串中的字符数,并使用pandas按结果计数对行进行分组?

Python 如何计算列值的字符串中的字符数,并使用pandas按结果计数对行进行分组?,python,pandas,Python,Pandas,我有列名为的.csv文件: id name 1 sample1 2 sample3 3 sample four 4 sample.five 5 sample.six.com 我需要打印结果如下(按行数降序排列): 我尝试了以下方法,但这并不是我真正想要的: In [106]: df['NAME_Count'] = df['name'].str.len() df Out[106]: name NAME_Count 0 sa

我有列名为的.csv文件:

id    name
1    sample1
2    sample3
3    sample four
4    sample.five
5    sample.six.com
我需要打印结果如下(按行数降序排列):

我尝试了以下方法,但这并不是我真正想要的:

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

Out[106]:
       name        NAME_Count
0     sample1        7

第一个新列不是必需的,您可以将
str.len
传递到
groupby
并用于计数:

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')
df['NAME_Count'] = df['name'].str.len()
df1 = df.groupby('NAME_Count').size().reset_index(name='count')