import numpy as np; import pandas as pd; kill_num=pd.Series([10,12,8,5,0,2,6])#击杀数量 #青铜1200-2000 #白银2001-2500 #黄金2501-3000 #铂金3001-3500 user_level=pd.Series([3100,3400,2700,2400,1200,2000,2500])#等级分数 #cov 协方差 corr相关系数 print(kill_num) print(user_level) print(kill_num.cov(user_level)) #正相关 越大接近运动越快 负相关 越小 远离运动越快 # # year=pd.Series( ) print(kill_num.corr(user_level))#只能在负一到正1之间 越接近1相关程度越高,反之亦然 #唯一值 unique ages=pd.Series([18,30,20,39.24,20,18,30]) print(ages.unique()) #计数 value_counts() print(ages.value_counts()) #Series #成员资格 isin([]) print(ages.isin([20,18,30])) #层次索引 #Series层次索引 #2017年 苹果卖了200T 橘子卖了120T 香蕉卖了30T #2018年 苹果卖了130T 橘子100T sale_num=pd.Series({"2017-苹果":200,"2017-橘子":120,"2017-香蕉":30,"2018-苹果":130,"2018-橘子":100}) print(sale_num) sale_num=pd.Series([200,120,30,130,100],index=[[2017,2017,2017,2018,2018],['苹果','橘子','香蕉','苹果','橘子']]) print(sale_num) print(sale_num[2017]) print(sale_num[2018]) print(sale_num[2017,'苹果']) print(sale_num[:,'苹果']) print(sale_num.sum()) print(sale_num.sum(level=1)) #交换层次索引 print(sale_num.swaplevel()) print(sale_num.swaplevel().sort_index(level=0)) #层次索引和DataFram的互相转换 print(sale_num.unstack().T) print(sale_num.unstack()) #排序 print(sale_num.sort_values(ascending=True)) #TRUE 正序 false 倒序 scores = pd.DataFrame(np.random.randint(0,60,[5,5]),columns=list("ABCDE"),index=list("abcde")) print(scores) print(scores.sort_values(by=['A'],ascending=False))#默认倒序 print(scores.sort_values(by=['A','C'],ascending=False))#A-->C 二次排序 print(scores.sort_values(by=['d'],axis=1)) #行排序 #排名 print(scores['A']) print(scores['A'].rank(ascending=False)) #如果出现相同的时候会取中间值比如2.5 #method average 平均 min 共用最小值 first 谁先取到排前面 print(scores['A'].rank(ascending=False,method='max')) #x相同时候共用同一个值