如何在一行上打印DataFrame

34

随着:

import pandas as pd
df = pd.read_csv('pima-data.csv')
print df.head(2)

打印内容将自动跨越多行进行格式化:

   num_preg  glucose_conc  diastolic_bp  thickness  insulin   bmi  diab_pred  \
0         6           148            72         35        0  33.6      0.627   
1         1            85            66         29        0  26.6      0.351   

   age    skin diabetes  
0   50  1.3790     True  
1   31  1.1426    False 

我想知道是否有方法可以避免多行格式。我希望它像这样单行打印:

   num_preg  glucose_conc  diastolic_bp  thickness  insulin       bmi      diab_pred     age       skin      diabetes  
0         6           148            72         35        0      33.6          0.627      50     1.3790          True  
1         1            85            66         29        0      26.6          0.351      31     1.1426         False 
1个回答

53

您需要设置:

pd.set_option('expand_frame_repr', False)

option_context 上下文管理器已通过顶层API公开,允许您使用给定的选项值执行代码。退出 with 块时,选项值会自动恢复:

#temporaly set expand_frame_repr
with pd.option_context('expand_frame_repr', False):
    print (df)

Pandas文档


很高兴能帮助你。祝你有美好的一天! - jezrael
它似乎在Spyder上不能工作。我想知道是否应该更改一些Spyder的设置,当我尝试使用pd.set_option时,没有滚动条,所以变得有点凌乱。对于Spyder有什么建议吗? - Joe T. Boka
@JoeR - 我在IPython控制台中检查了设置,只有您可以更改字体的大小,但我找不到更改此选项的选项。如果检查[文档](http://pandas.pydata.org/pandas-docs/stable/options.html#setting-startup-options-in-python-ipython-environment),似乎您只能使用`set_option`。 - jezrael
谢谢。是的,我已经尝试了一个星期在Spyder上让它工作,但没有成功。我尝试了所有的set_option变化,但结果总是一样的。再次感谢您的回复,我很感激。 - Joe T. Boka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接