Pandas 显示所有数据类型

52 投票
3 回答
75005 浏览
提问于 2025-04-18 03:22

这看起来是个很简单的问题,但让我感到非常困扰。我相信这个问题应该通过查阅手册就能解决,但我查看了选项,还是找不到解决办法。

我只是想打印出所有列的数据类型,目前我得到的是:

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

我尝试过设置选项 display.max_rowdisplay.max_info_rowdisplay.max_info_columns,但都没用。

我到底哪里出错了呢?

Pandas 版本 = 0.13.1


更新:

结果我真是个傻瓜,没把 display.max_row 设置到足够大的值。

解决办法是:

pd.set_option('display.max_rows', 20)

3 个回答

10

另一种方法是按照数据类型进行分组,具体做法如下:

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

这样做:

with pd.option_context('display.max_rows', None, 'display.max_columns', None):
    print(df.dtypes)
70

我试过这个方法,结果成功了:

df.info(verbose=True)

撰写回答