যদি আপনি এটিকে ডিস্কে লিখতে চান যাতে এটি একটি অদ্ভুত অ্যারে হিসাবে আবার পড়া সহজ হয়ে যায়, সন্ধান করুন numpy.save
। এটি বাছাই করাও ঠিকঠাক কাজ করবে তবে বড় অ্যারেগুলির জন্য এটি কম দক্ষ (যা আপনার নয়, তাই হয় পুরোপুরি ঠিক আছে)।
আপনি যদি এটি মানুষের পাঠযোগ্য হতে চান তবে এটি দেখুন numpy.savetxt
।
সম্পাদনা: সুতরাং, দেখে মনে হচ্ছে savetxt
এটি> 2 মাত্রা সহ অ্যারেগুলির পক্ষে দুর্দান্ত বিকল্প নয় ... তবে কেবল সবকিছুই এর সম্পূর্ণ উপসংহারে টানতে:
আমি ঠিক বুঝতে পেরেছি যে numpy.savetxt
2 টিরও বেশি মাত্রা সহ ন্যাডেরেগুলিতে চোকগুলি ... এটি সম্ভবত ডিজাইনের মাধ্যমে, কারণ কোনও পাঠ্য ফাইলে অতিরিক্ত মাত্রা নির্দেশ করার মতো অন্তর্নিহিত কোনও সংজ্ঞা নেই।
যেমন এটি (একটি 2 ডি অ্যারে) ভাল কাজ করে
import numpy as np
x = np.arange(20).reshape((4,5))
np.savetxt('test.txt', x)
TypeError: float argument required, not numpy.ndarray
3 ডি অ্যারের জন্য একই জিনিস ব্যর্থ হবে (বরং একটি তথ্যহীন ত্রুটি সহ ):
import numpy as np
x = np.arange(200).reshape((4,5,10))
np.savetxt('test.txt', x)
একটি কার্যপ্রণালী হ'ল 3 ডি (বা ততোধিক) অ্যারেটিকে 2 ডি স্লাইসে বিভক্ত করা। যেমন
x = np.arange(200).reshape((4,5,10))
with file('test.txt', 'w') as outfile:
for slice_2d in x:
np.savetxt(outfile, slice_2d)
যাইহোক, আমাদের লক্ষ্যটি হ'ল স্পষ্টভাবে মানব পাঠযোগ্য, যদিও এখনও সহজেই এটিকে আবার পড়তে পারা যায় numpy.loadtxt
। অতএব, আমরা কিছুটা আরও ভার্বোজ হতে পারি, এবং মন্তব্য করা লাইনগুলি ব্যবহার করে স্লাইসগুলি পৃথক করতে পারি। ডিফল্টরূপে, numpy.loadtxt
যে লাইনগুলি শুরু হয় তা উপেক্ষা করবে #
(বা যে কোনও চরিত্র comments
কোয়ার্গ দ্বারা নির্দিষ্ট করা আছে )। (এটি দেখতে আসলে ভার্বোজের চেয়ে বেশি মনে হচ্ছে ...)
import numpy as np
# Generate some test data
data = np.arange(200).reshape((4,5,10))
# Write the array to disk
with open('test.txt', 'w') as outfile:
# I'm writing a header here just for the sake of readability
# Any line starting with "#" will be ignored by numpy.loadtxt
outfile.write('# Array shape: {0}\n'.format(data.shape))
# Iterating through a ndimensional array produces slices along
# the last axis. This is equivalent to data[i,:,:] in this case
for data_slice in data:
# The formatting string indicates that I'm writing out
# the values in left-justified columns 7 characters in width
# with 2 decimal places.
np.savetxt(outfile, data_slice, fmt='%-7.2f')
# Writing out a break to indicate different slices...
outfile.write('# New slice\n')
এই ফলন:
# Array shape: (4, 5, 10)
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00
10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00
20.00 21.00 22.00 23.00 24.00 25.00 26.00 27.00 28.00 29.00
30.00 31.00 32.00 33.00 34.00 35.00 36.00 37.00 38.00 39.00
40.00 41.00 42.00 43.00 44.00 45.00 46.00 47.00 48.00 49.00
# New slice
50.00 51.00 52.00 53.00 54.00 55.00 56.00 57.00 58.00 59.00
60.00 61.00 62.00 63.00 64.00 65.00 66.00 67.00 68.00 69.00
70.00 71.00 72.00 73.00 74.00 75.00 76.00 77.00 78.00 79.00
80.00 81.00 82.00 83.00 84.00 85.00 86.00 87.00 88.00 89.00
90.00 91.00 92.00 93.00 94.00 95.00 96.00 97.00 98.00 99.00
# New slice
100.00 101.00 102.00 103.00 104.00 105.00 106.00 107.00 108.00 109.00
110.00 111.00 112.00 113.00 114.00 115.00 116.00 117.00 118.00 119.00
120.00 121.00 122.00 123.00 124.00 125.00 126.00 127.00 128.00 129.00
130.00 131.00 132.00 133.00 134.00 135.00 136.00 137.00 138.00 139.00
140.00 141.00 142.00 143.00 144.00 145.00 146.00 147.00 148.00 149.00
# New slice
150.00 151.00 152.00 153.00 154.00 155.00 156.00 157.00 158.00 159.00
160.00 161.00 162.00 163.00 164.00 165.00 166.00 167.00 168.00 169.00
170.00 171.00 172.00 173.00 174.00 175.00 176.00 177.00 178.00 179.00
180.00 181.00 182.00 183.00 184.00 185.00 186.00 187.00 188.00 189.00
190.00 191.00 192.00 193.00 194.00 195.00 196.00 197.00 198.00 199.00
# New slice
এটির পিছনে পড়া খুব সহজ, যতক্ষণ না আমরা আসল অ্যারের আকার জানি know আমরা ঠিক করতে পারি numpy.loadtxt('test.txt').reshape((4,5,10))
। উদাহরণ হিসাবে (আপনি এক লাইনে এটি করতে পারেন, আমি কেবল বিষয়গুলি স্পষ্ট করার জন্য ভারবজ করছি):
# Read the array from disk
new_data = np.loadtxt('test.txt')
# Note that this returned a 2D array!
print new_data.shape
# However, going back to 3D is easy if we know the
# original shape of the array
new_data = new_data.reshape((4,5,10))
# Just to check that they're the same...
assert np.all(new_data == data)
numpy.loadtxt
( ডকস.সসিপি.আর / ডক / নম্পি / রেফারেন্স / জেনারেটেড / নম্পি.লোডটেক্সট। Html )