Sorry to open a issue for such a minor thing..
in a DataFrame object, both the columns and index properties are actually Index objects.
Wouldn't be cleaner to rename index as rows ?
As you are working with n-dimensional panels, rows and columns could then be just convenient aliases for something like axis0 and axis1 respectively (in a df), while further dimensional container could use axis2, axis3 and so on (the current axis names labels, items, major_axis and minor_axis do not suggest any particular order).