pandas DataFrame.to_string()从列中截断字符串

时间:2012-08-16 20:11:51

标签: python pandas

当我尝试使用to_string从dataframe输出一列时,它会截断列的输出。

print gtf_df.ix[:1][['transcript_id','attributes']].to_string(header=False,index=False)

Out: ' CUFF.1.1  gene_id "CUFF.1"; transcript_id "CUFF.1.1"; FPKM '

print gtf_df.ix[:1]['attributes'][0]

Out: 'gene_id "CUFF.1"; transcript_id "CUFF.1.1"; FPKM "1670303.8168650887"; frac "1.000000"; conf_lo "0.000000"; conf_hi "5010911.450595"; cov "9658.694354";'

有关如何解决此问题的任何想法? 谢谢!

2 个答案:

答案 0 :(得分:11)

默认情况下,使用__repr__to_string列截断为50个字符。在早于0.13.1的Pandas版本中,可以使用pandas.set_printoptions()

来控制
In [64]: df
Out[64]:
                                                   A    B
a  this is a very long string, longer than the defau  bar
b                                                foo  baz

In [65]: pandas.set_printoptions(max_colwidth=100)

In [66]: df
Out[66]:
                                                                      A    B
a  this is a very long string, longer than the default max_column width  bar
b                                                                   foo  baz

在更新版本的Pandas中,请改用:

pd.options.display.max_colwidth = 100

答案 1 :(得分:0)

熊猫更改了设置此选项的方式。这是current documentation

pd.set_option('display.max_colwidth', 100)

请参阅文档,查找其他不错的文档,例如:

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