Missed this mail.
Thanks Derek For the clarification provided.

Kind Rgds,
Vinodhini

> On 31 Dec 2017, at 10:11 am, Derek Homeier 
> <de...@astro.physik.uni-goettingen.de> wrote:
> 
> On 30 Dec 2017, at 5:38 pm, Vinodhini Balusamy <me.vi...@gmail.com> wrote:
>> 
>> Just one more question from the details you have provided which from my 
>> understanding strongly seems to be Design  
>> [DEREK] You cannot create a regular 2-dimensional integer array from one row 
>> of length 3
>>> and a second one of length 0. Thus np.array chooses the next most basic 
>>> type of
>>> array it can fit your input data in
>> 
> Indeed, the general philosophy is to preserve the structure and type of your 
> input data
> as far as possible, i.e. a list is turned into a 1d-array, a list of lists 
> (or tuples etc…) into
> a 2d-array,_ if_ the sequences are of equal length (even if length 1).
> As long as there is an unambiguous way to convert the data into an array (see 
> below).
> 
>>   Which is the case,  only if an second one of length 0 is given.
>>   What about the case 1 :
>>>>> x12 = np.array([[1,2,3]])
>>>>> x12
>> array([[1, 2, 3]])
>>>>> print(x12)
>> [[1 2 3]]
>>>>> x12.ndim
>> 2
>>>>> 
>>>>> 
>> This seems to take 2 dimension.
> 
> Yes, structurally this is equivalent to your second example
> 
>> also,
>>>> x12 = np.array([[1,2,3],[0,0,0]])
>>>> print(x12)
> [[1 2 3]
> [0 0 0]]
>>>> x12.ndim
> 2
> 
>> I presumed the above case and the case where length 0 is provided to be 
>> treated same(I mean same behaviour).
>> Correct me if I am wrong.
>> 
> In this case there is no unambiguous way to construct the array - you would 
> need a shape (2, 3)
> array to store the two lists with 3 elements in the first list. Obviously 
> x12[0] would be np.array([1,2,3]),
> but what should be the value of x12[1], if the second list is empty - it 
> could be zeros, or repeating x12[0],
> or simply undefined. np.array([1, 2, 3], [4]]) would be even less clearly 
> defined.
> These cases where there is no obvious “right” way to create the array have 
> usually been discussed at
> some length, but I don’t know if this is fully documented in some place. For 
> the essentials, see
> 
> https://docs.scipy.org/doc/numpy/reference/routines.array-creation.html
> 
> note also the upcasting rules if you have e.g. a mix of integers and reals or 
> complex numbers,
> and also how to control shape or data type explicitly with the respective 
> keywords.
> 
>                                       Derek
> 
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to