Skip to content

Commit 59dfb01

Browse files
committed
.astype conversion
1 parent fec6dc6 commit 59dfb01

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

pandas_gbq/gbq.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -708,11 +708,22 @@ def _get_credentials_file():
708708

709709

710710
def _parse_data(schema, rows):
711+
# see:
712+
# http://pandas.pydata.org/pandas-docs/dev/missing_data.html
713+
# #missing-data-casting-rules-and-indexing
714+
dtype_map = {'FLOAT': np.dtype(float),
715+
'TIMESTAMP': 'M8[ns]'}
711716

712717
fields = schema['fields']
713-
col_names = [str(field['name']) for field in fields]
714718

715-
df = DataFrame(data=(iter(r) for r in rows), columns=col_names)
719+
column_dtypes = {
720+
str(field['name']):
721+
dtype_map.get(field['type'].upper(), object) for field in fields
722+
}
723+
724+
df = DataFrame(data=(iter(r) for r in rows), columns=column_dtypes.keys())
725+
for column in df:
726+
df[column] = df[column].astype(column_dtypes[column])
716727
return df
717728

718729

0 commit comments

Comments
 (0)