如何从Polars DataFrame中选取求和值最大的列?
找出Polars DataFrame中求和值最大的列
你可以通过以下几种方式完成最后一步:
方法1:利用字典查找最大值对应的列名
先将求和后的单行DataFrame转换为字典,再通过字典的max()方法找到值最大的键(即列名):
sum_dict = max_col.to_dict(as_series=False) max_col_name = max(sum_dict, key=sum_dict.get) print(max_col_name) # 输出: a
方法2:用Polars的unpivot操作转换格式后筛选
将宽表转为长表,排序后取最大值对应的列名:
max_col_name = ( max_col .unpivot() # 将列转为行,生成"variable"(列名)和"value"(求和值)两列 .sort("value", descending=True) .select("variable") .item() # 提取单个值 ) print(max_col_name) # 输出: a
方法3:直接在原DataFrame上一步完成(最简洁)
不需要提前计算所有列的和,直接对原DataFrame求和后调用idxmax()获取最大值对应的列名:
max_col_name = df.sum().idxmax() print(max_col_name) # 输出: a
内容的提问来源于stack exchange,提问作者scotsman60
相关产品推荐
相关产品推荐

