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

Python中矩阵指定列筛选方法:PCA场景下的Pandas列选择问题

解决PCA数据筛选指定列的问题

嘿,我来帮你搞定这个列筛选的需求!针对你的场景,有两种常用的方法,我都给你列出来,你可以根据自己的习惯选:

方法一:直接用列名筛选(推荐)

这种方法最稳健,哪怕后续数据的列顺序变动,也不会选错列,非常适合固定列名的场景。你只需要把想要的列名放进一个列表,直接传入数据框索引即可:

# 定义要保留的列名列表
target_cols = ["Price", "Earnings/Share", "Market Cap", "EBITDA"]
# 筛选列、标准化后生成新DataFrame
sp_data = pd.DataFrame(scale(SP[target_cols]), index=SP.Symbol, columns=target_cols)

这样就精准选中了你需要的4列,完全不用关心它们在原数据中的位置,省心又靠谱。

方法二:通过位置索引修改原代码

如果你坚持要修改原来的iloc索引部分,得先确认目标列在原数据中的位置。根据你给出的8列顺序:
["Price", "Earnings/Share", "Book Value", "52 week low", "52 week high", "Market Cap", "EBITDA", "Price/Sales"]
这些列对应原SP数据框的索引是3、4、8、9(因为你原来的iloc[:,3:11]是取第3到第10列,左闭右开)。修改后的代码如下:

sp_data = pd.DataFrame(scale(SP.iloc[:, [3,4,8,9]]), index=SP.Symbol, columns=SP.columns[[3,4,8,9]])

⚠️ 注意:这种方法依赖列的位置,如果后续原数据的列顺序调整了,筛选结果就会出错,所以更推荐第一种用列名的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:14:22