Tried to download a Synapse table as a Pandas data frame and then upload it back to Synapse.
The following example succeeded as expected,
whereas, if we add one particular row to the query with a missing integer value on the "heartAgeDataBloodGlucose" column, the upload would fail.
The Synapse error message is like "Value at [9,9] was not a valid INTEGER. For input string: "100.0"".
The reason is that, Pandas integer type does not support NaN. When a column has a missing value, it's type falls back to float. Then the string representation of the float value is incompatible with Synapse Table's Int type.