pandas read csv by taking samples
Use skiprows with a complex selector:
Example would be 
rows=1000
prob=.01
print len(pd.read_csv(filename, usecols=[0], skiprows=lambda x: x in random.sample(xrange(0,num_rows), int((1.0-prob)*num_rows ))))

There are also other ways of doing it by reading in chunks and then just skipping rows.
e.g. you could use chunksize=100
skiprows=99
I have a large CSV file and I just want to take a 1% sample from it.  Is there a good way to read the samples directly into pandas data frame without having to read the whole file and then discard 99% of the data?