Refer to the line here: https://github.com/cdisc-org/cdisc-rules-engine/blob/cdb8cdbc6fd089c6e9d4ad6df3ae522d79f60621/cdisc_rules_engine/rules_engine.py#L313 If the dataset is large, this is an expensive operation for cpu, disk and ram. We should find a better way to do this. Update: Check out [Copy-on-Write](https://pandas.pydata.org/docs/dev/user_guide/copy_on_write.html) documentation and refer to [Dataframe copy](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.copy.html)