It seems strange that you would write arrays without commas (is that a MATLAB syntax?)
Have you tried going through NumPy's documentation on multi-dimensional arrays?
It seems NumPy has a "Python-like" append method to add items to a NumPy n-dimensional array:
>>> p = np.array([[1,2],[3,4]])
>>> p = np.append(p, [[5,6]], 0)
>>> p = np.append(p, [[7],[8],[9]],1)
>>> p
array([[1, 2, 7], [3, 4, 8], [5, 6, 9]])
It has also been answered already...
From the documentation for MATLAB users:
You could use a matrix constructor which takes a string in the form of a matrix MATLAB literal:
mat("1 2 3; 4 5 6")
or
matrix("[1 2 3; 4 5 6]")
Please give it a try and tell me how it goes.
Answer from tutuDajuju on Stack OverflowIt seems strange that you would write arrays without commas (is that a MATLAB syntax?)
Have you tried going through NumPy's documentation on multi-dimensional arrays?
It seems NumPy has a "Python-like" append method to add items to a NumPy n-dimensional array:
>>> p = np.array([[1,2],[3,4]])
>>> p = np.append(p, [[5,6]], 0)
>>> p = np.append(p, [[7],[8],[9]],1)
>>> p
array([[1, 2, 7], [3, 4, 8], [5, 6, 9]])
It has also been answered already...
From the documentation for MATLAB users:
You could use a matrix constructor which takes a string in the form of a matrix MATLAB literal:
mat("1 2 3; 4 5 6")
or
matrix("[1 2 3; 4 5 6]")
Please give it a try and tell me how it goes.
You'll have problems creating lists without commas. It shouldn't be too hard to transform your data so that it uses commas as separating character.
Once you have commas in there, it's a relatively simple list creation operations:
array1 = [1,2,3]
array2 = [4,5,6]
array3 = [array1, array2]
array4 = [7,8,9]
array5 = [10,11,12]
array3 = [array3, [array4, array5]]
When testing we get:
print(array3)
[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]
And if we test with indexing it works correctly reading the matrix as made up of 2 rows and 2 columns:
array3[0][1]
[4, 5, 6]
array3[1][1]
[10, 11, 12]
Hope that helps.
Multiple arrays, or one array of arrays?
How to create an array from the list of arrays in python - Data Science Stack Exchange
Python numpy array of numpy arrays - Stack Overflow
indexing arrays/ lists in python vs. c
arr = [[]]
I'm not sure what you're trying to do, python lists is dynamically assigned, but if you want a predefined length and dimension use list comprehensions.
arr = [[0 for x in range(3)] for y in range(3)]
From Microsoft documentation:
A jagged array is an array whose elements are arrays. The elements of a jagged array can be of different dimensions and sizes
Python documentation about Data Structures.
You could store a list inside another list or a dictionary that stores a list. Depending on how deep your arrays go, this might not be the best option.
numbersList = []
listofNumbers = [1,2,3]
secondListofNumbers = [4,5,6]
numbersList.append(listofNumbers)
numbersList.append(secondListofNumbers)
for number in numbersList:
print(number)
I'm working on some homework, and I need to store some information on arrays to eventually plot it. The information on the different arrays is "related" in some sense by their index. This made me think that, instead of using several arrays, I could store all of the information in a single array whose elements are themselves arrays of information. I was wondering if there is actually any difference other than readability (as in memory use et cetera) between both approaches.
Never append to numpy arrays in a loop: it is the one operation that NumPy is very bad at compared with basic Python. This is because you are making a full copy of the data each append, which will cost you quadratic time.
Instead, just append your arrays to a Python list and convert it at the end; the result is simpler and faster:
a = []
while ...:
b = ... # NumPy array
a.append(b)
a = np.asarray(a)
As for why your code doesn't work: np.append doesn't behave like list.append at all. In particular, it won't create new dimensions when appending. You would have to create the initial array with two dimensions, then append with an explicit axis argument.
we can try it also :
arr1 = np.arange(4)
arr2 = np.arange(5,7)
arr3 = np.arange(7,12)
array_of_arrays = np.array([arr1, arr2, arr3])
array_of_arrays
np.concatenate(array_of_arrays)