pandas 按名称获取列

eqoofvh9  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(118)

我有一个DataFrame,看起来像这样:

Date   Adj Close                   Close                    High  ...         Low                    Open                Volume           
                       AAPL         SPY        AAPL         SPY        AAPL  ...        AAPL         SPY        AAPL         SPY      AAPL        SPY
2050 2023-02-28  147.410004  396.260010  147.410004  396.260010  149.080002  ...  146.830002  396.149994  147.050003  397.230011  50547000   96438600
...

我如何得到一个DataFrame只有关闭的AAPL和关闭的SPY?
我尝试了这个,但我得到一个错误:

column_names = ['Close' + ticker, 'Close SPY']
data = data[column_names]

raise KeyError(f"{keyarr[cmask]} not in index")
KeyError: "['CloseAAPL' 'Close SPY'] not in index"
li9yvcax

li9yvcax1#

如果不能访问DataFrame,很难确定,但我猜列标签是pandasMultiIndex,在这种情况下,将每个列名视为单个字符串(即"Close SPY"将不起作用(即使您在'CloseAAPL'字符串中有一个空格,'Close'+ticker不会创建)。相反,试试column names = [("Adj Close", ticker), ("Close", "SPY")]或者类似的东西。

相关问题