Initializing a very large pandas dataframe
Out of curiosity, is there a reason you want to use Pandas for this?  Image analysis is typically handled in matrices making NumPy a clear favorite.  If I'm not mistaken, both sk-learn and PIL/IMAGE use NumPy arrays to do their analysis and operations.
Another option:  avoid the in-memory step!  Do you need to access all 1K+ images at the same time?  If not, and you're operating on each one individually, you can iterate over the files and perform your operations there.  For an even more efficient step, break your files into lists of 200 or so images, then use Python's MultiProcessing capabilities to analyze in parallel.
JIC, do you have PIL or IMAGE installed, or sk-learn?  Those packages have some nice image analysis algorithms already packaged in which may save you some time in not having to re-invent the wheel.
Background: I have a sequence of images. In each image, I map a single pixel to a number. Then I want to create a pandas dataframe where each pixel is in its own column and images are rows. The reason I want to do that is so that I can use things like forward fill.
Challenge: I have transformed each image into a one dimensional array of numbers, each of which is about 2 million entries and I have thousands of images. Simply doing pd.DataFrame(array) is very slow (testing it on a smaller number of images). Is there a faster solution for this? Other ideas how to do this efficiently are also welcome, but using non-core different libraries may be a challenge (corporate environment).