At the following link you can find my implementation from scratch of ID3.
I didn't use any external library except for numpy, math and pandas.
I tested the algorithm on 'Boolean Formulas Datasets' (AND, OR, XOR) and on PlayTennis Dataset shown in Lecture 5.
Attached you can find the csv file of the dataset
https://colab.research.google.com/drive/1K2sytaFCfyT-FVMHNb7jvOi7bben_cah?usp=sharing