对于我来说,在pycharm中仅设置'display.width'
是不够的,它仍然以截断形式显示。
但是,加上选项pd.set_option("display.max_columns", 10)
和显示宽度一起工作,我能够在“运行”输出中看到整个数据框。
总之:
import pandas as pd
pd.set_option('display.width', 400)
pd.set_option('display.max_columns', 10)
display.width
不起作用,让我很苦恼。感谢 @ldodo。 - xbot我之前错误地认为这个问题是PyCharm上的一个设置或偏好可以解决的,但实际上与控制台会话本身有关。控制台尝试自动检测显示区域的宽度,但当失败时,它将默认为80个字符。可以使用以下方式覆盖此行为:
import pandas as pd
desired_width = 320
pd.set_option('display.width', desired_width)
你当然可以将desired_width
设置为你的显示器所容忍的任何大小。
感谢@TidB的建议,使我意识到我的初始关注点并不正确。
@mattvivier
的答案在打印Pandas数据框时很有效(谢谢!)。
但是,如果您要打印NumPy数组,还需要设置np.set_printoptions
:
import pandas as pd
import numpy as np
desired_width = 320
pd.set_option('display.width', desired_width)
np.set_printoptions(linewidth=desired_width)
def pd_set_df_view_options(max_rows=1000, max_columns=350, display_width=320):
# Show more than 10 or 20 rows when a dataframe comes back.
pd.set_option('display.max_rows', max_rows)
# Columns displayed in debug view
pd.set_option('display.max_columns', max_columns)
pd.set_option('display.width', display_width)
# run
pd_set_df_view_options(max_rows=1000, max_columns=350, display_width=320)
补充Contago的答案:
通用设置
import numpy as np
import pandas as pd
desired_width = 320
## dataframe ##
# increase dataframe print area
pd.set_option('display.width', desired_width)
# increase no. of df columns displayed
pd.set_option('display.max_columns', n)
## numpy array ##
# increase numpy array print area
np.set_printoptions(linewidth = desired_width)
# dataframe
with pd.option_context('display.max_columns', 20,
'display.width', 320):
print(df)
# numpy array
with np.printoptions(linewidth=320):
print(np.array(df))
print
?如果是,你可以将end
参数设置为""
,从而抑制标准换行符。 - TidB