Python 如何计算列值的字符串中的字符数,并使用pandas按结果计数对行进行分组?
我有列名为的.csv文件: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
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')