关于python:打印没有省略号的numpy数组

Print numpy array without ellipsis

我想打印一个没有截断的numpy数组。我看到过其他的解决方案,但这些似乎行不通。

下面是代码段:

1
2
3
total_list = np.array(total_list)
np.set_printoptions(threshold=np.inf)
print(total_list)

输出结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
22        A
23        G
24        C
25        T
26        A
27        A
28        A
29        G
         ..
232272    G
232273    T
232274    G
232275    C
232276    T
232277    C
232278    G
232279    T

这是整个代码。我可能在打字时出错了。

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
import csv
import pandas as pd
import numpy as np



seqs = pd.read_csv('BAP_GBS_BTXv2_imp801.hmp.csv')
plts = pd.read_csv('BAP16_PlotPlan.csv')

required_rows = np.array([7,11,14,19,22,31,35,47,50,55,58,63,66,72,74,79,82,87,90,93,99])
total_list = []


for i in range(len(required_rows)):
    curr_row = required_rows[i];
    print(curr_row)
    for j in range(len(plts.RW)):
        if(curr_row == plts.RW[j]):
            curr_plt = plts.PI[j]
            curr_range = plts.RA1[j]
            curr_plt = curr_plt.replace("_","").lower()
            if curr_plt in seqs.columns:
                new_item = [curr_row,curr_range,seqs[curr_plt]]
                total_list.append(new_item)
                print(seqs[curr_plt])


total_list = np.array(total_list)
'''
np.savetxt("foo.csv", total_list[:,2], delimiter=',',fmt='%s')
total_list[:,2].tofile('seqs.csv',sep=',',format='%s')
'''

np.set_printoptions(threshold='nan')

print(total_list)


使用以下代码段不获取省略号。

1
2
import numpy
numpy.set_printoptions(threshold=numpy.nan)

1
numpy.set_printoptions(threshold='nan')

编辑:

如果您有一个pandas.DataFrame,请使用以下代码段打印您的数组:

1
2
3
4
def print_full(x):
    pd.set_option('display.max_rows', len(x))
    print(x)
    pd.reset_option('display.max_rows')

或者可以使用pandas.dataframe.to_string()方法获得所需的结果。


通过将其更改为list,您可以绕过奇怪的麻木的repr/print行为:

1
print list(total_list)

应该打印出2元素np数组的列表。


您没有打印numpy数组。

在导入后添加以下行:

1
pd.set_option('display.max_rows', 100000)


1
2
3
4
5
6
7
8
#for a 2d array
def print_full(x):
    dim = x.shape
    pd.set_option('display.max_rows', dim[0])#dim[0] = len(x)
    pd.set_option('display.max_columns', dim[1])
    print(x)
    pd.reset_option('display.max_rows')
    pd.reset_option('display.max_columns')