数据框列根据许多列的最大值

时间:2019-11-08 23:08:31

标签: python pandas

我正在寻找获取数据框“最佳玩家”列的最佳方法,这意味着使用最短时间播放器的用户名。

我有一种方法来获取该列,但它没有进行优化,因为玩家的人数达到6。

这是数据框

df = pd.DataFrame({'Player one':["Juul","RGB10","Holi2","Combo"]\
           ,'Time play1':[13,21,15,4]\
           ,'Player two':["Jar21","helen3","Dimi","kanh"]\
           ,'Time play2':[5,7,19,4]\
           ,'Player three':["josi","Mae","Dylen","Joe18"]\
           ,'Time play3':[4,12,8,66,]
          })

这就是我获取“最佳玩家”列的方式:

df["Best player"]=np.where((df[['Time play1', 'Time play2','Time play3']].min(axis=1))==df["Time play1"]\
,df["Player one"]\
,np.where( (df[['Time play1', 'Time play2','Time play3']].min(axis=1))==df["Time play2"]\
          ,df["Player two"]\
          ,df["Player three"]\
         )\
)

https://i.stack.imgur.com/n23kj.jpg

是否有更简单的方法来获取专栏?

0 个答案:

没有答案