Python2 Spyder中如何让pandas DataFrame.head()输出整洁表格?
如何在Python 2 Spyder中让Pandas输出整洁的表格?
我从Kaggle获取了一份泰坦尼克数据集,希望得到教程中展示的整洁表格输出效果。于是我参考教程代码并稍作修改,运行了如下代码:
# get titanic & test csv files as a DataFrame titanic_df = pd.read_csv("./input/train.csv") test_df = pd.read_csv("./input/test.csv") # preview the data print titanic_df.head()代码能输出正确数据,但输出格式不如教程中整洁(当前为Python2 Spyder环境下的非规整格式),请问如何调整以实现整洁的表格输出?
没问题,在Python 2的Spyder环境里让Pandas输出规整的表格其实有几个实用的小技巧,我给你列出来:
方法1:调整Pandas的全局显示选项
Pandas默认的显示设置可能会因为列数、宽度限制导致表格折行或者格式混乱,你可以手动设置参数来优化全局输出效果:
import pandas as pd # 设置显示所有列,避免列被折叠省略 pd.set_option('display.max_columns', None) # 设置每列的最大宽度,确保内容完整显示(Python 2中用-1表示无限制) pd.set_option('display.max_colwidth', -1) # 设置整体显示宽度,防止表格被挤成多段 pd.set_option('display.width', 1000) # 设置数值显示精度,避免小数位数杂乱 pd.set_option('display.precision', 2) # 再打印数据就能看到规整的表格了 print(titanic_df.head())
方法2:用to_string()自定义输出格式
这个方法能让你更灵活地控制单份输出的样式,比如去掉索引、调整列间距:
# 去掉行索引,同时给每列分配12个字符的宽度 print(titanic_df.head().to_string(index=False, col_space=12))
index=False:隐藏左侧的行索引,让表格更简洁col_space=12:统一设置列宽度,保证列与列之间的间距均匀
方法3:利用Spyder自带的变量查看器
其实Spyder本身就有个超方便的功能——你完全不用写print语句,直接在右侧的变量资源管理器里找到titanic_df,双击它就能打开一个交互式的整洁表格。这个表格不仅格式规整,还支持排序、筛选、导出,比控制台输出好用太多了!
方法4:升级到Python 3(可选)
虽然你现在用的是Python 2,但Python 2已经停止维护多年了,而且Python 3中的Pandas默认输出格式就更规整美观。如果后续有条件的话,升级到Python 3会让你在数据分析过程中少很多麻烦~
内容的提问来源于stack exchange,提问作者CIsForCookies
相关产品推荐
相关产品推荐

