df2 = df_cleaned.groupby('company').size()
df2.columns = ['company', 'frequency']
#df2.sort_values('frequency') # error : No axis named frequency for object type <class 'type'>
df2
我有一个带有“公司”列的数据框“ df_cleaned”,我试图用一个额外的“频率”列创建一个新的数据框“ df2”,以检查每个公司被提及的次数。我无法创建新的频率列。好像我做错了什么,请帮帮我。
答案 0 :(得分:1)
您没有为我们提供数据,因此生成它:
import numpy as np
source = ['3Com', '3M', 'A-T-O', 'A.H. Robins']
cmp = [source[i] for i in np.random.randint(4, size = 20)]
df = pd.DataFrame(cmp, columns = ['company'])
Out[1]:
company
0 A.H. Robins
1 3M
2 A.H. Robins
3 A.H. Robins
4 3M
5 3M
6 3Com
7 A-T-O
8 3Com
9 A-T-O
10 3M
11 3M
12 A-T-O
13 3M
14 3M
15 A.H. Robins
16 A-T-O
17 A-T-O
18 A-T-O
19 3Com
df.groupby('company')[['company']].count().rename(columns = {'company':'frequency'})
Out[2]:
frequency
company
3Com 3
3M 7
A-T-O 6
A.H. Robins 4
答案 1 :(得分:0)
使用:
df2 = df_cleaned.groupby('company').size().to_frame('frecuency')