Pandas: IO

reader = pd.read_csv('data.csv', sep='|', chunksize=1e6)

for chunk in reader:
    print(chunk)

reader2 = pd.read_csv('data.csv', sep='|', iterator=True)

chunk_temp = reader2.get_chunk(1e6)

chunk_temp.head()

reader3 = pd.read_csv('data.csv', iterator=True, chunksize=64*1024)

reader3.get_chunk(1e2).sample(10)

chunk_temp.columns

chunk_temp.shape

chunk_temp['name'].isnull().value_counts()
#check the number of nans in column name

chunk_temp['name'] = chunk_temp['name'].fillna(value='foo')
#fill nans with certain value 

mean_val = df['age'].mean()
df['age'].fillna(mean_val, inplace=True)
#fill nans with mean value

pd.read_csv('data.csv').assign(birthday=lambda _df: _df['birthday'].str.replace(',','').astype(np.int64))

pd.read_csv('data.csv').query('country == 'Canada' and year == 2009 and age == 35')

pd.read_csv('data.csv').assign(valid_year=lambda x: x.apply(lambda y: re.split(r'(?=\d{2})', y['country_year'])[1] == str(y['year']),axis=1))

pd.read_csv('data.csv').pipe(def_norm, columns=['cost', 'revenue'])

https://pandas.pydata.org/docs/