I want to print a numpy array without truncation. I have seen other solutions but those don't seem to work.
Here is the code snippet:
total_list = np.array(total_list) np.set_printoptions(threshold=np.inf) print(total_list)
And this is what the output looks like:
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
This is the entire code. I might be making a mistake in type casting.
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)
We set the print options for the array to be maximum with the np. set_printoptions(threshold = sys. maxsize) function. We then printed the full array with the simple print() function in Python.
To print a NumPy array without enclosing square brackets, the most Pythonic way is to unpack all array values into the print() function and use the sep=', ' argument to separate the array elements with a comma and a space.
use the following snippet to get no ellipsis.
import numpy import sys numpy.set_printoptions(threshold=sys.maxsize)
EDIT:
If you have a pandas.DataFrame
use the following snippet to print your array:
def print_full(x): pd.set_option('display.max_rows', len(x)) print(x) pd.reset_option('display.max_rows')
Or you can use the pandas.DataFrame.to_string() method to get the desired result.
EDIT':
An earlier version of this post suggested the option below
numpy.set_printoptions(threshold='nan')
Technically, this might work, however, the numpy documentation specifies int and None as allowed types. Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.set_printoptions.html.
You can get around the weird Numpy repr/print behavior by changing it to a list
:
print list(total_list)
should print out your list of 2-element np arrays.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With