切り詰めずに派手な配列を出力したいのですが。私は他の解決策を見てきましたが、それらはうまくいかないようです。
コードスニペットは次のとおりです。
total_list = np.array(total_list)
np.set_printoptions(threshold=np.inf)
print(total_list)
そして、これは出力がどのように見えるかです:
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
これはコード全体です。型キャストを間違えているのかもしれません。
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)
次のスニペットを使用して省略記号を取得しません。
import numpy
import sys
numpy.set_printoptions(threshold=sys.maxsize)
編集:
pandas.DataFrame
次のスニペットを使用して配列を印刷します。
def print_full(x):
pd.set_option('display.max_rows', len(x))
print(x)
pd.reset_option('display.max_rows')
または、 pandas.DataFrame.to_string() メソッドを使用して、目的の結果を得ることができます。
EDIT ':
この投稿の以前のバージョンは、以下のオプションを提案しました
numpy.set_printoptions(threshold='nan')
技術的にはこれでうまくいくかもしれませんが、numpyのドキュメントでは許可された型としてintとNoneを指定しています。リファレンス: https://docs.scipy.org/doc/numpy/reference/generated/numpy.set_printoptions.html 。
list
に変更することで、奇妙なNumpy repr/print動作を回避できます。
print list(total_list)
2要素のnp配列のリストが出力されます。
あなたはnot numpy配列を出力しています。
インポートの後に次の行を追加します。
pd.set_option('display.max_rows', 100000)
#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')
Python 3以降、しきい値を無制限にすることはできなくなりました。
したがって、推奨されるオプションは次のとおりです。
import numpy
import sys
numpy.set_printoptions(threshold=sys.maxsize)