Yan*_*uru 91 python string options pandas
我正在努力寻找看似非常简单的事情.我有一个包含很长字符串的pandas数据框.
df = pd.DataFrame({'one' : ['one', 'two',
'This is very long string very long string very long string veryvery long string']})
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试打印相同的内容时,我看不到完整的字符串,而是只看到字符串的一部分.
我尝试了以下选项
print(df.iloc[2]) to_htmlto_stringset_printoptions帮助我.任何想法都赞赏.看起来很简单,但无法得到它!
jor*_*ris 138
您可以使用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
Run Code Online (Sandbox Code Playgroud)
事实上,如果您只想检查一个值,通过访问它(作为标量,而不是行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'
Run Code Online (Sandbox Code Playgroud)
Roc*_*etq 14
另一种非常简单的方法是调用列表函数:
list(df['one'][2])
# output:
['This is very long string very long string very long string veryvery long string']
Run Code Online (Sandbox Code Playgroud)
没有什么值得一提的,修改列出整个列是不好的,但对于一个简单的行 - 为什么不呢
打印整个字符串的另一种简便方法是values在数据框上调用。
df = pd.DataFrame({'one' : ['one', 'two',
'This is very long string very long string very long string veryvery long string']})
print(df.values)
Run Code Online (Sandbox Code Playgroud)
输出将是
[['one']
['two']
['This is very long string very long string very long string veryvery long string']]
Run Code Online (Sandbox Code Playgroud)
小智 7
我创建了一个小的实用函数,这对我来说很有效
def display_text_max_col_width(df, width):
with pd.option_context('display.max_colwidth', width):
print(df)
display_text_max_col_width(train_df["Description"], 800)
Run Code Online (Sandbox Code Playgroud)
我可以根据我的要求更改宽度的长度,而无需永久设置任何选项。
如果您使用的是 jupyter 笔记本,您还可以将 pandas 数据帧打印为 HTML 表,这将打印完整的字符串。
from IPython.display import display, HTML
display(HTML(df.to_html()))
Run Code Online (Sandbox Code Playgroud)
输出
one
0 one
1 two
2 This is very long string very long string very long string veryvery long string
Run Code Online (Sandbox Code Playgroud)
只需在打印之前将以下行添加到您的代码中。
pd.options.display.max_colwidth = 90 # set a value as your need
Run Code Online (Sandbox Code Playgroud)
您可以简单地执行以下步骤来设置其他附加选项,
您可以按如下方式更改 pandas max_columns 功能的选项以显示更多列
import pandas as pd
pd.options.display.max_columns = 10
Run Code Online (Sandbox Code Playgroud)
(这允许显示 10 列,您可以根据需要进行更改)
像这样,您可以根据需要更改行数,如下所示以显示更多行
pd.options.display.max_rows = 999
Run Code Online (Sandbox Code Playgroud)
(这允许一次打印 999 行)
这应该可以正常工作
请参阅文档以更改熊猫的更多选项/设置
| 归档时间: |
|
| 查看次数: |
68318 次 |
| 最近记录: |