Skip to content

pivot_table margins bottom-left total does not correspond to other content when dropna=False #14072

Open
@Tuzoff

Description

@Tuzoff

Code Sample, a copy-pastable example if possible

In:
M = pd.DataFrame([
[1, 'a', 'A'],
[1, 'b', 'B'],
[1, 'c', None]],
columns=['x', 'y', 'z'])
P = M.pivot_table(values='x', index='y', columns='z', aggfunc='sum', fill_value=0, margins=True, dropna=False)
P

Out:

z A B All
y
a 1.0 0.0 1.0
b 0.0 1.0 1.0
All 1.0 1.0 3.0

Expected Output

Either

z A B All
y
a 1.0 0.0 1.0
b 0.0 1.0 1.0
All 1.0 1.0 2.0

or

z A B None All
y
a 1.0 0.0 0.0 1.0
b 0.0 1.0 0.0 1.0
c 0.0 0.0 1.0 1.0
All 1.0 1.0 1.0 3.0

depending on dropna's meaning for this case

output of pd.show_versions()

INSTALLED VERSIONS

commit: None
python: 3.4.3.final.0
python-bits: 64
OS: Linux
OS-release: 4.2.0-36-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: None

pandas: 0.18.1
nose: 1.3.1
pip: 8.1.2
setuptools: 22.0.5
Cython: 0.20.1post0
numpy: 1.11.0
scipy: 0.17.1
statsmodels: None
xarray: None
IPython: 4.2.0
sphinx: None
patsy: 0.4.1
dateutil: 2.5.3
pytz: 2016.4
blosc: None
bottleneck: None
tables: None
numexpr: 2.6.0
matplotlib: 1.5.1
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: 4.5.1
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.8
boto: None
pandas_datareader: None

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugReshapingConcat, Merge/Join, Stack/Unstack, Explode

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions