python 制表:显示特定值的空白单元格

python tabulate: display blank cell for specific values

我有这个 numpy 数组

import numpy as np
from tabulate import tabulate

data  = np.array([[1,2], [3,4]])
data2 = tabulate(data, tablefmt='fancy_grid')
print(data2)

╒═══╤═══╕
│ 1 │ 2 │
├───┼───┤
│ 3 │ 4 │
╘═══╧═══╛

我希望更清晰地显示我的 table,同时忽略我不感兴趣的值。如何为特定值打印空白单元格?例如,数组中所有 2 个值的空白,如下所示:

╒═══╤═══╕
│ 1 │   │
├───┼───┤
│ 3 │ 4 │
╘═══╧═══╛

您可以转换为 'U''S' dtype 并将特殊值显式替换为 '':

from tabulate import tabulate                
 
data  = np.array([[1,2], [3,4]])             
data2 = tabulate(np.where(data==2,'',data.astype('U')), tablefmt='fancy_grid') 
print(data2)                                                                  
╒═══╤═══╕
│ 1 │   │
├───┼───┤
│ 3 │ 4 │
╘═══╧═══╛