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') |
号
编辑:
如果您有一个
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()方法获得所需的结果。
通过将其更改为
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') |
。