Complete Dataframe
A Complete Dataframe is one where there is a valid value for every time in a time-indexed dataframe.
In most cases, the data you'll request in a complex query won't have synchronised sample times. Some sensors update several times a second, others every few seconds, some once an hour.
ARDI uses its knowledge of your property types to fill your discrete and interpolate your continuous data to create a single table containing all of your points, that has values for every channel at every time (except for when sensors have failed).
Of course, you can interpolate, back and forward-fill in Pandas very easily, but this system is data-type aware. If you're asking for a mixture of discrete and continuous data, the API avoids interpolating your discrete information, as shown in the Noise Alert column in the example tables above.
You can create these through the AQLQuery::Execute_DF and AQLQuery::HistoryToDataframe functions.