一見非常に単純なことに苦労しています。非常に長い文字列を含む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
を使用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'
自動改行と複数行セルにはpd.set_option('display.max_colwidth', -1)
を使用します。
This は、pandasでjupytersディスプレイを最大限に使用する方法に関する優れたリソースです。
別の非常に単純なアプローチは、リスト関数を呼び出すことです。
list(df['one'][2])
# output:
['This is very long string very long string very long string veryvery long string']
言及する価値はありませんが、列全体をリストするために修道院を作るのは良くありませんが、簡単な行のために-なぜ
文字列全体を印刷するもう1つの簡単な方法は、データフレームでvalues
を呼び出すことです。
df = pd.DataFrame({'one' : ['one', 'two',
'This is very long string very long string very long string veryvery long string']})
print(df.values)
出力は
[['one']
['two']
['This is very long string very long string very long string veryvery long string']]
これはあなたがするつもりだったことですか?
In [7]: x = pd.DataFrame({'one' : ['one', 'two', 'This is very long string very long string very long string veryvery long string']})
In [8]: x
Out[8]:
one
0 one
1 two
2 This is very long string very long string very...
In [9]: x['one'][2]
Out[9]: 'This is very long string very long string very long string veryvery long string'
あなたが説明する状況に私がよく対処する方法は、.to_csv()
メソッドを使用してstdoutに書き込むことです。
import sys
df.to_csv(sys.stdout)
更新:sys.stdout
の代わりにNone
を使用するだけで同様の効果が得られるようになりました!
これにより、文字列全体を含むデータフレーム全体がダンプされます。 to_csvパラメーターを使用して、列の区切り文字、インデックスを印刷するかどうかなどを構成できます。ただし、適切にレンダリングするよりも見栄えが悪くなります。