DOCUMENTATION
对于您可能会看到的格式,该控件发生了 2 件事。
-
控制显示器可以处理的字符宽度。
- 这是通过 pandas 选项
display.width 处理的,可以通过print pd.get_option('display.width') 看到。默认为80。
-
第二个控件是要显示的数据框中的列数。
- 这是通过 pandas 选项
display.max_columns 处理的,可以通过print pd.get_option('display.max_columns') 看到。默认为20。
display.width
让我们用一个示例数据框来探索它的作用
import pandas as pd
df = pd.DataFrame([range(40)], columns=['ABCDE%d' % i for i in range(40)])
print df # this is with default 'display.width' of 80
ABCDE0 ABCDE1 ABCDE2 ABCDE3 ABCDE4 ABCDE5 ABCDE6 ABCDE7 ABCDE8 \
0 0 1 2 3 4 5 6 7 8
ABCDE9 ... ABCDE30 ABCDE31 ABCDE32 ABCDE33 ABCDE34 ABCDE35 \
0 9 ... 30 31 32 33 34 35
ABCDE36 ABCDE37 ABCDE38 ABCDE39
0 36 37 38 39
[1 rows x 40 columns]
pd.set_option('display.width', 40)
print df
ABCDE0 ABCDE1 ABCDE2 ABCDE3 \
0 0 1 2 3
ABCDE4 ABCDE5 ABCDE6 ABCDE7 \
0 4 5 6 7
ABCDE8 ABCDE9 ... ABCDE30 \
0 8 9 ... 30
ABCDE31 ABCDE32 ABCDE33 ABCDE34 \
0 31 32 33 34
ABCDE35 ABCDE36 ABCDE37 ABCDE38 \
0 35 36 37 38
ABCDE39
0 39
[1 rows x 40 columns]
pd.set_option('display.width', 120)
这应该向右滚动。
print df
ABCDE0 ABCDE1 ABCDE2 ABCDE3 ABCDE4 ABCDE5 ABCDE6 ABCDE7 ABCDE8 ABCDE9 ... ABCDE30 ABCDE31 ABCDE32 \
0 0 1 2 3 4 5 6 7 8 9 ... 30 31 32
ABCDE33 ABCDE34 ABCDE35 ABCDE36 ABCDE37 ABCDE38 ABCDE39
0 33 34 35 36 37 38 39
[1 rows x 40 columns]
display.max_columns
让'display.width' 回到 80 和 pd.set_option('display.width,80)
现在让我们探索'display.max_columns'的不同值
print df # default 20
ABCDE0 ABCDE1 ABCDE2 ABCDE3 ABCDE4 ABCDE5 ABCDE6 ABCDE7 ABCDE8 \
0 0 1 2 3 4 5 6 7 8
ABCDE9 ... ABCDE30 ABCDE31 ABCDE32 ABCDE33 ABCDE34 ABCDE35 \
0 9 ... 30 31 32 33 34 35
ABCDE36 ABCDE37 ABCDE38 ABCDE39
0 36 37 38 39
[1 rows x 40 columns]
注意中间的椭圆。此数据框中有 40 列,为了达到最大 20 列的显示计数,pandas 取了前 10 列 0:9 和最后 10 列 30:39 并在中间放置了一个省略号。
pd.set_option('display.max_columns', 30)
print df
ABCDE0 ABCDE1 ABCDE2 ABCDE3 ABCDE4 ABCDE5 ABCDE6 ABCDE7 ABCDE8 \
0 0 1 2 3 4 5 6 7 8
ABCDE9 ABCDE10 ABCDE11 ABCDE12 ABCDE13 ABCDE14 ... ABCDE25 \
0 9 10 11 12 13 14 ... 25
ABCDE26 ABCDE27 ABCDE28 ABCDE29 ABCDE30 ABCDE31 ABCDE32 ABCDE33 \
0 26 27 28 29 30 31 32 33
ABCDE34 ABCDE35 ABCDE36 ABCDE37 ABCDE38 ABCDE39
0 34 35 36 37 38 39
[1 rows x 40 columns]
请注意字符的宽度保持不变,但我有更多的列。 pandas 占据了前 15 列 0:14 和后 15 列 26:39。
要显示所有列,您需要将此选项设置为至少与要显示的列数一样大。
pd.set_option('display.max_columns', 40)
print df
ABCDE0 ABCDE1 ABCDE2 ABCDE3 ABCDE4 ABCDE5 ABCDE6 ABCDE7 ABCDE8 \
0 0 1 2 3 4 5 6 7 8
ABCDE9 ABCDE10 ABCDE11 ABCDE12 ABCDE13 ABCDE14 ABCDE15 ABCDE16 \
0 9 10 11 12 13 14 15 16
ABCDE17 ABCDE18 ABCDE19 ABCDE20 ABCDE21 ABCDE22 ABCDE23 ABCDE24 \
0 17 18 19 20 21 22 23 24
ABCDE25 ABCDE26 ABCDE27 ABCDE28 ABCDE29 ABCDE30 ABCDE31 ABCDE32 \
0 25 26 27 28 29 30 31 32
ABCDE33 ABCDE34 ABCDE35 ABCDE36 ABCDE37 ABCDE38 ABCDE39
0 33 34 35 36 37 38 39
没有省略号,显示所有列。
将两个选项结合在一起
在这一点上很简单。 pd.set_option('display.width', 1000) 使用 1000 允许较长的时间。 pd.set_option('display.max_columns', 1000) 也允许宽数据帧。
print df
ABCDE0 ABCDE1 ABCDE2 ABCDE3 ABCDE4 ABCDE5 ABCDE6 ABCDE7 ABCDE8 ABCDE9 ABCDE10 ABCDE11 ABCDE12 ABCDE13 ABCDE14 ABCDE15 ABCDE16 ABCDE17 ABCDE18 ABCDE19 ABCDE20 ABCDE21 ABCDE22 ABCDE23 ABCDE24 ABCDE25 ABCDE26 ABCDE27 ABCDE28 ABCDE29 ABCDE30 ABCDE31 ABCDE32 ABCDE33 ABCDE34 ABCDE35 ABCDE36 ABCDE37 ABCDE38 ABCDE39
0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
使用您的数据
print df
TFs No Esenciales Genes regulados Genes.1 Regulados Positivamente Genes.2 Regulados.1 Negativamente No.1 Tentativo de genes a silenciar No.2 Real de.1 genes.1 a.1 silenciar.1 No.3 Tentativo.1 de.2 genes.2 a.2 inducir
0 146 YdeO 20 18 2 2 2 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
大警告
当你运行它时,你可能看不到你在这里所做的这种滚动魔法。这是因为您的终端可能不会向右滚动。下面是 jupyter-notebook 的屏幕截图。它看起来不正确,因为文本正在被换行。但是,字符串中没有新行,因为当我将其复制并粘贴到堆栈溢出时,它会正确显示。