我有一个数据框,每一列是一个有3个元素的列表。我如何比较每个列表的第二个元素基于每一列和行?
Col1 col2 col3
['A',0.2,5] ['A',0.4,5] ['A',0,5]
['A',0.4,5] ['A',0.2,5] ['A',0.7,5]
['A',0.1,5] ['A',0.1,5] ['A',0.20,5]
['A',0.25,5] ['A',0.9,5] ['A',0.22,5]
列中第二个元素的最大值,基于:
col1=0.4
col2=0.9
col3=0.22
第二个元素的最大值,以行为基础:
row1=0.2
row2=0.7
row3=0.20
row4=0.9
3条答案
按热度按时间qij5mzcb1#
使用
applymap
从列表中提取第二个元素,然后使用axis
获取列或行中的最大值:qqrboqgw2#
另一种可能的解决方案:
编辑
下面的代码尝试回答下面的OP注解:
pqwbnv8z3#
对于矢量解决方案,您可以在所需级别上执行
stack
、切片和groupby.max
。对于行:
输出量:
对于色谱柱:
输出量: