我有一个数据框:
keyword val
0 nt 0.93
1 atm 0.94
2 bank 1.00
3 long 1.02
4 number 1.11
5 get 2.20
6 money 3.50
7 account 3.80
8 deposit 3.90
9 card 5.00
10 credit 0.8
11 debit 1.23
我想找出每单位值范围内的关键字数量,即从0.9-1 => [nt,atm] => 2从1-1.1 => [bank,long,number] => 3,依此类推
尝试使用groupby
一些列值修改,然后count
在'keyword'
列上使用:
>>> df.groupby(df['val'].astype(int))['keyword'].count()
val
0 3
1 4
2 1
3 3
4 1
Name: keyword, dtype: int64
编辑:
>>> df.groupby(df['val'].apply("{:.1f}".format))['keyword'].count()
val
0.8 1
0.9 2
1.0 2
1.1 1
1.2 1
2.2 1
3.5 1
3.8 1
3.9 1
5.0 1
Name: keyword, dtype: int64
如果四舍五入(1.9
不会像在同一组中1.1
):
>>> df.groupby(df['val'].round(1))['keyword'].count()
val
0.8 1
0.9 2
1.0 2
1.1 1
1.2 1
2.2 1
3.5 1
3.8 1
3.9 1
5.0 1
Name: keyword, dtype: int64
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句