48

This seems like a very simple problem, however it's driving me round the bend. I'm sure it should be solved by RTFM, but I've looked at the options and I can see the one to fix it.

I just want to print the dtypes of all columns, currently I'm getting:

print df.dtypes
#>
Date         object
Selection    object
Result       object
...
profit    float64
PL        float64
cumPL     float64
Length: 11, dtype: object

I've tried setting options display.max_row, display.max_info_row, display.max_info_columns all to no avail.

What am i doing wrong?

Pandas version = 0.13.1


Update:

Turns out I was being and idiot and hadn't set display.max_row to a high enough value.

Solution was:

pd.set_option('display.max_rows', 20)
SColvin
  • 11,584
  • 6
  • 57
  • 71

3 Answers3

66

I tried this and worked:

df.info(verbose=True)
chok68
  • 875
  • 9
  • 10
14

Do this:

with pd.option_context('display.max_rows', None, 'display.max_columns', None):
    print(df.dtypes)
Nora_F
  • 431
  • 5
  • 17
10

another way around is to group by dtype as follows:

x = df.columns.to_series().groupby(df.dtypes).groups
x
{dtype('object'): ['Date', 'Selection', 'Result'], dtype('float64'): ['profit', 'PL', 'cumPL'] 
Mshendy
  • 303
  • 3
  • 11