Classification task - how to handle large data file? I'm planning to construct a classification model for predicting New York taxi trip fare. The CSV-datafile for this is very large, containing 112 234 626 rows (ca 10 GB). I have managed to download this file to my computer's local disc but 
the further memory problems arise when I'm starting to use this file for parsing and model construction.

So, my questions are:


What is the optimal number of rows that I should take from this datafile for use in my task?
How should I take these rows to prevent low memory problems?
How should I take these rows so that it contains optimal sample of all the months. The file contains data of year 2018 and if I take the rows so that it contains only pre-specified number of rows then for example the dataframe may contain only data for January (but I want all months).


2018 Yellow Taxi Trip Data
With pandas:

import pandas as pd

dataset = pd.read_csv(path, chunksize=1000) #number of rows per chunk

for chunk in dataset:
    #process chunk etc