Pandas Panel doesn't support getting DataFrame or (sub) Panel using a list of index · Issue #8710 · pandas-dev/pandas (original) (raw)
when I try to get a DataFrame (or sub Panel) from a Panel using index as list it raises the following error:
TypeError: unhashable type: 'list'
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
import pandas.io.data as web
start = "2010-01-01"
end = "2010-01-30"
df = web.DataReader("AAPL", 'yahoo', start, end)
print("DF 1")
data = df[['Open', 'Close']] # returns pandas.core.frame.DataFrame
print(data)
print(type(data))
print("DF 2")
data = df['Open'] # returns pandas.core.series.Series
print(data)
print(type(data))
print("DF 3")
data = df[['Open']] # returns pandas.core.frame.DataFrame
print(data)
print(type(data))
panel = web.DataReader(["AAPL", "GOOGL"], 'yahoo', start, end)
#Items axis: Open to Adj Close
#Major_axis axis: 2010-01-04 00:00:00 to 2010-01-29 00:00:00
#Minor_axis axis: AAPL to GOOGL
panel = panel.transpose(2, 1, 0) # symbol is panel index
#Items axis: AAPL to GOOGL
#Major_axis axis: 2010-01-04 00:00:00 to 2010-01-29 00:00:00
#Minor_axis axis: Open to Adj Close
print(panel)
print("P 1")
data = panel["AAPL"] # returns pandas.core.frame.DataFrame
print(data)
print(type(data))
print("P 2")
#data = panel[["AAPL"]] # Error: Should return a DataFrame but raises TypeError: unhashable type: 'list'
#print(data)
#print(type(data))
print("P 3")
#data = panel[["AAPL", "GOOGL"]] # Error: Should return a "sub" Panel but raises TypeError: unhashable type: 'list'
#print(data)
#print(type(data))
But that can be a misunderstanding on my side.