pythonpandasstring

Print very long string in Pandas dataframe


I have a Pandas data frame containing a very long string:

df = pd.DataFrame({'one' : ['one', 'two',
      'This is very long string very long string very long string veryvery long string']})

When I print it, I see only part of the string. I tried:

I also do not get how set_printoptions would solve this.


Solution

  • You can use options.display.max_colwidth to specify you want to see more in the default representation:

    In [2]: df
    Out[2]:
                                                     one
    0                                                one
    1                                                two
    2  This is very long string very long string very...
    
    In [3]: pd.options.display.max_colwidth
    Out[3]: 50
    
    In [4]: pd.options.display.max_colwidth = 100
    
    In [5]: df
    Out[5]:
                                                                                   one
    0                                                                              one
    1                                                                              two
    2  This is very long string very long string very long string veryvery long string
    

    And indeed, if you just want to inspect the one value, by accessing it (as a scalar, not as a row as df.iloc[2] does) you also see the full string:

    In [7]: df.iloc[2,0]    # or df.loc[2,'one']
    Out[7]: 'This is very long string very long string very long string veryvery long string'