Is there a way to create a single column pandas DataFrame from list without copying the list?

When you assign your list to a series, a new NumPy array is created. This data structure permits vectorised computations for numeric types. Such series are laid out in contiguous memory blocks. See Why NumPy instead of Python lists? for more details.

Therefore, you will need enough memory to hold duplicate data. This is unavoidable. There is no way to "convert" a list into a Pandas series in place.

Note: the above does not relate to what happens when you assign a NumPy array to a series.