You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

找出方差最高的股票列并与DataFrame的Stock 1列交换的实现问题

实现方法

第一步:获取方差最高的股票列名

你之前用max(df.var())只能拿到最大值,用idxmax()方法可以直接返回最大值对应的列名,同时注意排除日期列参与方差计算:

# 仅对股票列计算方差,返回方差最高的列名
max_var_stock = df.drop('Date', axis=1).var().idxmax()

第二步:交换最高方差列与Stock 1的位置

直接调整列名列表的顺序再赋值给DataFrame即可,Date列会保持在第一位不动:

# 获取当前列名列表
col_list = df.columns.tolist()
# 分别定位Stock 1和最高方差列的索引
stock1_pos = col_list.index('Stock 1')
max_var_pos = col_list.index(max_var_stock)
# 交换两个列的位置
col_list[stock1_pos], col_list[max_var_pos] = col_list[max_var_pos], col_list[stock1_pos]
# 重新设置DataFrame的列顺序
df = df[col_list]

注意事项

  • 若你的股价列存在空值,可在计算方差时添加skipna=True参数(pandas默认已开启,无需额外配置)
  • 若股票列存在非数值类型数据,计算方差时会自动过滤,建议提前确认所有股价列均为int/float类型

内容的提问来源于stack exchange,提问作者Brayden Clarkson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:09:02