DataFrame 应用题

随机创建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

你可能感兴趣的:(DataFrame 应用题)