How can I find the dtype
of a MultiIndex
in pandas without printing out all the values (this happens if you type df.index
, for example
Use get_level_values:
df.index.get_level_values(0).dtype
dtype('int64')
and
df.index.get_level_values(1).dtype
dtype('int64')
For names use:
df.index.names
FrozenList(['i1', 'i2'])
Based on the great answer by @Scott Boston, I wrote this function for a quick check for the dtypes of all the levels of multiindex dfs and just thought I'd share:
def index_level_dtypes(df):
return [f"{df.index.names[i]}: {df.index.get_level_values(n).dtype}"
for i, n in enumerate(df.index.names)]