What does cannot index with multidimensional key mean?
Tried to change avg_wins.ix
to avg_wins.loc
but no luck.
How do I correct this issue?
-
1Where are you seeing this error? What is the code you're using?– music2myearMay 13, 2019 at 18:31
1 Answer
It looks like this is from pandas
or dask
. It pops up when you try to .loc
(locate) from a pd.DataFrame
or dd.DataFrame
, which has a MultiIndex
column.
Your output should look like this:
df.columns
MultiIndex([( 'A', 'first'),
( 'B', 'first'),
( 'C', 'mean')])
and so on. Otherwise it will simply output a flat list of columns.
So in a MultiIndex you can do different things, but what helps is to know how you can .loc
(locate/filter) pretty easy:
df['A','first']
will give you that column and
df.loc[df['A','first'] == 5]
let you filter over a MultiIndex
column.
Dask: MultIndex
is used as default in dask
groupby
functions, when using multiple aggregate functions for one column, like this:
my_aggregate = {
'A': 'first',
'B': 'first',
'C': ['mean','last'],
TL;DR: Look for a pandas/dask MultiIndex
column.