Currently we handle np.nan differently between having a list or a numpy array as an input to pa.array():
I would actually think the last one is the correct one. Especially once one casts this to an integer column. There the first one produces a column with INT_MIN and the second one produces a real null.
But, in test_array_conversions_no_sentinel_values we check that np.nan does not produce a Null.