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

如何在Python中用单个变量合并Pandas的drop与droplevel处理雅虎财经数据

合并Pandas的drop与droplevel操作(雅虎财经数据处理)

问题

我想处理雅虎财经下载的数据,要删掉列层级和右侧指定列,现在用两个变量分步做:

FAANG = yf.download(['AAPL','GOOGL','NFLX','META','AMZN','SPY'],
                    start = '2008-01-01',end = '2022-12-31')
FAANG_AC = FAANG.drop(FAANG.columns[6:36],axis=1)

FAC = FAANG_AC.droplevel(0,axis=1)

怎么把.drop()和.droplevel()合并到一个变量里,不用多个中间变量?

解决办法

直接用Pandas的链式调用把两个操作串起来,一步到位:

FAC = yf.download(['AAPL','GOOGL','NFLX','META','AMZN','SPY'],
                  start='2008-01-01', end='2022-12-31')\
        .iloc[:, :6]\
        .droplevel(0, axis=1)

这里iloc[:, :6]对应你原来的drop(columns[6:36]),直接保留前6列,接着调用.droplevel(0, axis=1)去掉列的第一层索引,不需要任何中间变量就能得到最终的FAC数据框。

如果不想用索引筛选,也可以通过列的层级信息精准筛选后再去层级:

FAC = (yf.download(['AAPL','GOOGL','NFLX','META','AMZN','SPY'],
                   start='2008-01-01', end='2022-12-31')
       .drop(columns=lambda col: col[1] != 'AAPL')
       .droplevel(0, axis=1))

核心就是把多个Pandas数据处理方法用.直接连接,省略中间变量的赋值步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:25:28