在jupyter中打印pandas数据框时,不会创建水平滚动,而是在适合的列之后打印不适合的列。
玩具示例:
d = {'long_column_name1': [1, 2,3,4,5,6,7,8,9],
'long_column_name2': [1, 2,3,4,5,6,7,8,9],
'long_column_name3': [1, 2,3,4,5,6,7,8,9],
'long_column_name4': [1, 2,3,4,5,6,7,8,9],
'long_column_name5': [1, 2,3,4,5,6,7,8,9],
'long_column_name6': [1, 2,3,4,5,6,7,8,9],
'long_column_name7': [1, 2,3,4,5,6,7,8,9],
'long_column_name8': [1, 2,3,4,5,6,7,8,9]}
df = pd.DataFrame(data=d)
print(df)
在这种情况下,只有9行和8列,它们仍然可读,但是有更多的行和列会使它真的难以阅读。
是否有办法水平打印所有列,如果需要,添加水平滚动条?
答案 0 :(得分:2)
您可以尝试使用df
代替print(df)
。这使它可以滚动。
如果您希望将列打印为水平,则可以使用df.transpose()
。
答案 1 :(得分:0)
(在没有 print() 的 Jupyter 中)
更改熊猫 option 设置
喜欢:
pd.set_option('display.max_columns', 70)
用于打印单元格中的所有(字符串)内容:
pd.set_option('display.max_colwidth', None) # for pandas >= 1.x
或暂时(在 with 语句中):
with pd.option_context("display.max_rows", 8, "display.max_columns", 90):
print(pd.get_option("display.max_rows")
print(pd.get_option("display.max_columns"))
# back in general setting
print(pd.get_option("display.max_rows"))