从分散的数据类型中找到最大整数,Python

时间:2018-01-16 14:03:11

标签: python pandas

我正在尝试找到最大值并将其放在每行的一列中。根据下面的内容,有一些字符串,NaN和整数的分散。

我想由于数据类型的混合,只运行max函数不起作用。

df['max']=df[['team', 'so', 'ibb', 'hpb', 'sh', 'gidp']].max(axis=1)


  df2           so   ibb   hbp    sh    sf  gidp  
year team                                       
2008 DET   176.0   3.0  10.0   4.0   8.0  28.0  
     212.0   3.0   9.0  16.0   6.0  17.0  NaN
     141.0   8.0   9.0   3.0   8.0  29.0  LAN
     310.0  24    NYN   23.0  18.0  15.0  48.0  
     188.0  51.0   8    SFN   16.0   6.0  41.0  
     140.0   NaN   5.0   NaN   8.0  TEX   16.0  
     TOR   265.0  16.0  12.0   4.0  16.0  38.0  

1 个答案:

答案 0 :(得分:1)

如果想要最大数值,请先转换to_numeric

df['max'] = df.apply(lambda x: pd.to_numeric(x, errors='coerce')).max(axis=1)
print (df)
                so   ibb   hbp    sh    sf  gidp    max
year  team                                             
2008  DET    176.0   3.0  10.0   4.0   8.0  28.0  176.0
212.0 3.0      9.0  16.0   6.0  17.0   NaN   NaN   17.0
141.0 8.0      9.0   3.0   8.0  29.0   LAN   NaN   29.0
310.0 24       NYN  23.0  18.0  15.0  48.0   NaN   48.0
188.0 51.0       8   SFN  16.0   6.0  41.0   NaN   41.0
140.0 NaN      5.0   NaN   8.0   TEX  16.0   NaN   16.0
TOR   265.0   16.0  12.0   4.0  16.0  38.0   NaN   38.0