-
-
Notifications
You must be signed in to change notification settings - Fork 18.8k
Closed
Labels
BugDtype ConversionsUnexpected or buggy dtype conversionsUnexpected or buggy dtype conversionsReshapingConcat, Merge/Join, Stack/Unstack, ExplodeConcat, Merge/Join, Stack/Unstack, Explode
Description
It seems that when using concat
coerces Series
of type int
to type float
if one of the DataFrame
s being concatted is empty:
>>> df1 = pd.DataFrame([1],columns=['a'])
>>> df2 = pd.DataFrame(columns=['a'])
>>> df = pd.concat([df1, df2])
>>> df['a'].dtype
dtype('float64')
>>> df1['a'].dtype
dtype('int64')
While if both columns have ints, no coercion happens:
>>> df1 = pd.DataFrame([1],columns=['a'])
>>> df2 = pd.DataFrame([1],columns=['a'])
>>> df = pd.concat([df1, df2])
>>> df['a'].dtype
dtype('int64')
Metadata
Metadata
Assignees
Labels
BugDtype ConversionsUnexpected or buggy dtype conversionsUnexpected or buggy dtype conversionsReshapingConcat, Merge/Join, Stack/Unstack, ExplodeConcat, Merge/Join, Stack/Unstack, Explode