-
-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
BugDtype ConversionsUnexpected or buggy dtype conversionsUnexpected or buggy dtype conversionsReshapingConcat, Merge/Join, Stack/Unstack, ExplodeConcat, Merge/Join, Stack/Unstack, Explode
Description
When using the pivot_table command, the data type of a float64 column changes to object when I include a boolean column in the pivot table. This is unrelated to issue #713.
I'm using
python: 2.7.3.final.0
pandas: 0.13.1
For example, I've created the table below with two float64 columns a,b and one boolean column c
import pandas as pd
import numpy as np
np.random.seed(2)
x = pd.DataFrame(np.random.random((10,2)), columns=list('ab'))
x['pivot_column'] = x.a > 0.5
x['c'] = x.b > 0.5
I wish to create a pivot table, splitting on the 'pivot_column'. When using the columns a and b (both float64), the resulting table is as expected:
p2 = x.reset_index().pivot_table(rows='index',
cols='pivot_column',
values=list('ab'))
p2.info()
with output
Int64Index: 10 entries, 0 to 9
Data columns (total 4 columns):
(a, False) 6 non-null float64
(a, True) 4 non-null float64
(b, False) 6 non-null float64
(b, True) 4 non-null float64
dtypes: float64(4)<class 'pandas.core.frame.DataFrame'>
But, when I use the columns a,b,c the data type of a and b changes from float64 to object
p1 = x.reset_index().pivot_table(rows='index',
cols='pivot_column',
values=list('abc'))
p1.info()
with output
Int64Index: 10 entries, 0 to 9
Data columns (total 6 columns):
(a, False) 6 non-null object
(a, True) 4 non-null object
(b, False) 6 non-null object
(b, True) 4 non-null object
(c, False) 6 non-null object
(c, True) 4 non-null object
dtypes: object(6)<class 'pandas.core.frame.DataFrame'>
Is this a bug or is there some internal logic I don't know about (or both)?
Using unstack works as expected.
P.s. Pandas is great. Thanks for creating it! D.s.
Metadata
Metadata
Assignees
Labels
BugDtype ConversionsUnexpected or buggy dtype conversionsUnexpected or buggy dtype conversionsReshapingConcat, Merge/Join, Stack/Unstack, ExplodeConcat, Merge/Join, Stack/Unstack, Explode