Dataframe print 省略号问题

pandas数据分析时经常需要打印输出数据,当数据量大时,输出的展示设置非常重要,好的展示可以帮助更好地理解数据!

pandas相关的显示设置函数主要有以下三个:

import pandas as pd
(1)pd.pandas.set_option('参数名', 参数值) :设置相关显示选项
(2)pd.pandas.get_option('参数名', 参数值) :获取相关显示选项
(3)pd.pandas.reset_option('参数名', 参数值) :恢复默认相关选项

参数名:

(完整参数名为:'display.参数名',可省略'display.',直接用'参数名')

  • display.width:数据显示区域的总宽度,以总字符数计算。
  • display.max_rows:最大显示行数,超过该值用省略号代替,为None时显示所有行。
  • display.max_columns:最大显示列数,超过该值用省略号代替,为None时显示所有列。
  • display.max_colwidth:单列数据宽度,以字符个数计算,超过时用省略号表示。
  • display.precision:设置输出数据小数点的位数。
  • display.expand_frame_repr:输出数据宽度超过设置宽度时,是否要折叠,False不折叠(通常选这个),True要折叠。
  • display.large_repr:当数据维度超过max_rows和max_columns时,设置数据的显示方式,参数值truncate显示带省略号的数据(默认方式);参数值info显示数据的统计信息,而不直接显示数据(info实际就是df.info()函数)。
  • display.max_info_columns:df.info()函数按列统计每列的非空数据个数,当数据很大时,计算过程非常慢,该参数设置最大列数,当数据表的列数小于该值时,才计算每列的非空值并输出,当超过该值时不进行计算。
  • display.show_dimensions:当大的数据以truncate(带引号的省略方式)显示时,是否在最后显示数据的维数,True是显示(默认),False是不显示。

以上参数设置较常用,还有其他参数设置。
参考文献:
https://pandas.pydata.org/pandas-docs/stable/user_guide/options.html
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html?highlight=pandas%20set_options

示例

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randn(150, 150))
# pd.set_option('expand_frame_repr', False) #数据超过总宽度后,是否折叠显示
pd.set_option('display.width', 100) #数据显示总宽度
pd.set_option('max_rows', 100) #显示最多行数,超出该数以省略号表示
pd.set_option('max_columns', 100) #显示最多列数,超出该数以省略号表示
pd.set_option('max_colwidth', 16) #设置单列的宽度,用字符个数表示,单个数据长度超出该数时以省略号表示
pd.set_option('large_repr', 'truncate') #数据超过设置显示最大行列数时,带省略号显示/若是info则是统计信息显示
pd.set_option('show_dimensions', True) #当数据带省略号显示时,是否在最后显示数据的维度
print(df)

pd.set_option('max_info_columns', 100) #当列数超过这个值时,调用df.info()函数时不会统计每列的非空值。
print(df.info())

链接:https://www.jianshu.com/p/5c0aa1fa19af
 

通过print输出Dataframe中的数据,当Dataframe行数很多时,中间部分显示省略号.

通过查看pandas的官方文档可知,pandas.set_option() 可以设置pandas相关的参数,从而改变默认参数。 打印pandas数据时,默认是输出100行,多的话中间数据会输出省略号。

在代码中添加以下两行代码,可以改变显示宽度和行数,这样就能完整地查看数据了

pd.set_option('display.width', 1000) # 设置字符显示宽度

pd.set_option('display.max_rows', None) # 设置显示最大行

pd.set_option('display.max_columns', None) # 设置显示最大行
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值