开发者社区> 问答> 正文

dataframe中如何创建包含每行第二大值的列?

dataframe中如何创建包含每行第二大值的列?

展开
收起
游客y244y7ln2rlpa 2021-12-05 20:32:49 416 0
1 条回答
写回答
取消 提交回答
  • df = pd.DataFrame(np.random.randint(1,100, 9).reshape(3, -1))
    print(df)
    # 行方向上取第二大的值组成series
    out = df.apply(lambda x: x.sort_values().unique()[-2], axis=1)
    # 构建dataframe新的列
    df['penultimate'] = out
    print(df)
    
    #>	    0   1   2
    	0  28  77   1
    	1  43  19  69
    	2  29  30  72
    
    #>	    0   1   2  penultimate
    	0  28  77   1           28
    	1  43  19  69           43
    	2  29  30  72           30
    
    
    2021-12-05 22:22:58
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载