Can't coerce numpy object type to Synapse INTEGER column type when pushing table to Synapse

Description

Sometimes when I query a table and convert it to a pandas DataFrame, pandas will coerce columns of INTEGER type on Synapse to the numpy object type. In this case the offending column (submissionId) had an empty value in one of the rows (see Team Demographic Model in the example below). Trying to reupload this table to Synapse throws an error like "SynapseHTTPError: 400 Client Error: Bad Request Value at [0,1] was not a valid INTEGER. For input string: "9652890.0". This is fixed by manually changing the dtype of the row to float. It wasn't much of an issue in this case, but in cases where there are a lot of columns this could get pretty tedious to fix manually.

Environment

None

Assignee

Unassigned

Reporter

Phil Snyder

Labels

Validator

Phil Snyder

Development Area

None

Release Version History

None

Slack Channel

None

Epic Link

Components

Affects versions

Priority

Major