随机创建50个1-4之间的整数,分别找出值等于1和2的元素的数量
import pandas as pd
import numpy as np
l=np.random.randint(1,4,50)
df=pd.DataFrame(dict(i_type=l))
df[df['i_type'].isin([1,2])]['i_type'].value_counts()
输出:
1 18
2 17
Name: i_type, dtype: int64
有6名球员,按照场均得分高于六人的平均分的放在名为 Star 的一组,将低于六人平均得分的放在名为 Role 的一组
关键方法是用 pandas.cut() 方法
import pandas as pd, numpy as np
players=['Garsol','Hardon','Bill','Duran','James','Barter']
scores=[22,34,12,31,26,19]
df=pd.DataFrame({'player':players,'score':scores})
d=pd.Series(scores).describe()
score_ranges=[d['min']-1,d['mean'],d['max']+1]
score_labels=['Role','Star']
# 用pd.cut(ori_data, bins, labels) 方法
# 以 bins 设定的画界点来将 ori_data 归类,然后用 labels 中对应的 label 来作为分类名
df['level']=pd.cut(df['score'],score_ranges,labels=score_labels)
print df
输出:
player score level
0 Garsol 22 Role
1 Hardon 34 Star
2 Bill 12 Role
3 Duran 31 Star
4 James 26 Star
5 Barter 19 Role