Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pandas DataFrame.to_string() truncating strings from columns

Tags:

python

pandas

When I try to use to_string to output a column from a dataframe, it truncates the output of the column.

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";'

Any ideas as to how to resolve this problem? Thanks!

like image 626
Kunal B. Avatar asked Aug 16 '12 20:08

Kunal B.


2 Answers

Pandas changed how to set this option. Here is the current documentation

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

See the docs for other nice ones like:

pd.set_option('display.max_rows', 999)
like image 67
neves Avatar answered Sep 16 '22 21:09

neves


Using __repr__ or to_string columns are by default truncated at 50 chars. In versions of Pandas older than 0.13.1, this can be controlled using 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

In more recent versions of Pandas, use this instead:

pd.options.display.max_colwidth = 100
like image 38
Wouter Overmeire Avatar answered Sep 20 '22 21:09

Wouter Overmeire