This code is broken in 0.17.0
but not in 0.15.2
:
import pandas as pd import numpy as np np.random.seed(1) from itertools import product from pandas.util.testing import assert_frame_equal pd.show_versions() idx = pd.MultiIndex.from_tuples( list( product(['A', 'B', 'C'], pd.date_range('2015-01-01', '2015-04-01', freq='MS')) ) ) sub = pd.MultiIndex.from_tuples( [('A', pd.Timestamp('2015-01-01')), ('A', pd.Timestamp('2015-02-01'))] ) # if cols = ['foo', 'bar', 'baz', 'quux'], there is no error. cols = pd.MultiIndex.from_tuples( list( product(['foo', 'bar'], pd.date_range('2015-01-01', '2015-02-01', freq='MS')) ) ) test = pd.DataFrame(np.random.random((12, 4)), index=idx, columns=cols) vals = pd.DataFrame(np.random.random((2, 4)), index=sub, columns=cols) test.ix[sub, :] = vals print test.ix[sub, :] print vals assert_frame_equal(test.ix[sub, :], vals)0.17.0
INSTALLED VERSIONS ------------------ commit: None python: 2.7.10.final.0 python-bits: 64 OS: Windows OS-release: 7 machine: AMD64 processor: Intel64 Family 6 Model 26 Stepping 5, GenuineIntel byteorder: little LC_ALL: None LANG: None pandas: 0.17.0 nose: 1.3.7 pip: 7.1.0 setuptools: 18.0.1 Cython: 0.22 numpy: 1.10.1 scipy: 0.16.0 statsmodels: 0.6.1 IPython: 3.2.1 sphinx: 1.3.1 patsy: 0.4.0 dateutil: 2.4.1 pytz: 2015.4 blosc: None bottleneck: 1.0.0 tables: 3.2.2 numexpr: 2.4.4 matplotlib: 1.4.3 openpyxl: None xlrd: 0.9.4 xlwt: None xlsxwriter: 0.7.3 lxml: None bs4: 4.3.2 html5lib: 0.999 httplib2: None apiclient: None sqlalchemy: 1.0.7 pymysql: None psycopg2: None foo bar 2015-01-01 2015-02-01 2015-01-01 2015-02-01 A 2015-01-01 0.287775 0.130029 0.019367 0.678836 2015-02-01 0.287775 0.130029 0.019367 0.678836 foo bar 2015-01-01 2015-02-01 2015-01-01 2015-02-01 A 2015-01-01 0.287775 0.130029 0.019367 0.678836 2015-02-01 0.211628 0.265547 0.491573 0.053363 Traceback (most recent call last): File "c:\dev\code\sandbox\multiindex.py", line 41, in <module> assert_frame_equal(test.ix[sub, :], vals) File "c:\python\envs\pd017\lib\site-packages\pandas\util\testing.py", line 1028, in assert_frame_equal obj='DataFrame.iloc[:, {0}]'.format(i)) File "c:\python\envs\pd017\lib\site-packages\pandas\util\testing.py", line 925, in assert_series_equal check_less_precise, obj='{0}'.format(obj)) File "pandas\src\testing.pyx", line 58, in pandas._testing.assert_almost_equal (pandas\src\testing.c:3809) File "pandas\src\testing.pyx", line 147, in pandas._testing.assert_almost_equal (pandas\src\testing.c:2685) File "c:\python\envs\pd017\lib\site-packages\pandas\util\testing.py", line 798, in raise_assert_detail raise AssertionError(msg) AssertionError: DataFrame.iloc[:, 0] are different DataFrame.iloc[:, 0] values are different (50.0 %) [left]: [0.287775338586, 0.287775338586] [right]: [0.287775338586, 0.211628116]0.15.2
INSTALLED VERSIONS ------------------ commit: None python: 2.7.10.final.0 python-bits: 64 OS: Windows OS-release: 7 machine: AMD64 processor: Intel64 Family 6 Model 26 Stepping 5, GenuineIntel byteorder: little LC_ALL: None LANG: en_GB pandas: 0.15.2 nose: 1.3.7 Cython: 0.22 numpy: 1.9.2 scipy: 0.15.1 statsmodels: None IPython: 3.2.1 sphinx: 1.3.1 patsy: 0.3.0 dateutil: 2.4.1 pytz: 2015.4 bottleneck: 1.0.0 tables: 3.2.0 numexpr: 2.4.3 matplotlib: 1.4.3 openpyxl: 1.8.5 xlrd: 0.9.4 xlwt: 0.7.5 xlsxwriter: 0.7.3 lxml: 3.4.4 bs4: 4.3.2 html5lib: 0.999 httplib2: None apiclient: None rpy2: None sqlalchemy: 1.0.7 pymysql: None psycopg2: None foo bar 2015-01-01 2015-02-01 2015-01-01 2015-02-01 A 2015-01-01 0.287775 0.130029 0.019367 0.678836 2015-02-01 0.211628 0.265547 0.491573 0.053363 foo bar 2015-01-01 2015-02-01 2015-01-01 2015-02-01 A 2015-01-01 0.287775 0.130029 0.019367 0.678836 2015-02-01 0.211628 0.265547 0.491573 0.053363
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4