1. ホーム
  2. python

[解決済み] pandasのデータフレームに非常に長い文字列を完全に表示する

2022-04-25 14:20:29

質問

非常に長い文字列を含むpandasデータフレームを持っています。

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

同じものを印刷しようとすると、完全な文字列は表示されず、むしろ文字列の一部だけが表示されます。

以下のオプションを試してみました。

  • 使って print(df.iloc[2])
  • 使って to_html
  • 使って to_string
  • スタックオーバーフローの回答の一つに、列の幅を広げる方法がありました。 pandasのdisplayオプションを使っていますが、これもうまくいきません。
  • また、どのように set_printoptions は、私の助けになるのでしょうか?

何かアイデアがあれば教えてください。とてもシンプルに見えますが、うまくいきません。

どのように解決するのですか?

を使用することができます。 options.display.max_colwidth は、デフォルトの表現でもっと見たいことを指定します。

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

そして実際、1つの値を検査したいだけなら、それにアクセスすることで(スカラーとしてではなく df.iloc[2] のように)完全な文字列も見ることができます。

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'