Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Numerous FutureWarning with asv_bench #17732

Closed
gliptak opened this issue Oct 1, 2017 · 4 comments
Closed

Numerous FutureWarning with asv_bench #17732

gliptak opened this issue Oct 1, 2017 · 4 comments
Labels
Compat pandas objects compatability with Numpy or Python functions Performance Memory or execution speed performance

Comments

@gliptak
Copy link
Contributor

gliptak commented Oct 1, 2017

[  1.85%] ····· /tmp/pandas/asv_bench/benchmarks/algorithms.py:64: FutureWarning: pd.match() is deprecated and will be removed in a future version
                pd.match(self.all, self.uniques)

[  8.79%] ····· /tmp/pandas/asv_bench/benchmarks/frame_ctor.py:67: FutureWarning: consolidate is deprecated and will be removed in a future release.
                self.df = self.df.consolidate()

[ 16.99%] ····· /tmp/pandas/asv_bench/benchmarks/frame_methods.py:528: FutureWarning: by argument to sort_index is deprecated, please use .sort_values(by=...)
                self.df.sort_index(by=['key1', 'key2'])

[ 20.69%] ····· /tmp/pandas/asv_bench/benchmarks/gil.py:337: FutureWarning: pd.rolling_kurt is deprecated for ndarrays and will be removed in a future version
                rolling_kurt(arr, win)

[ 20.81%] ····· /tmp/pandas/asv_bench/benchmarks/gil.py:319: FutureWarning: pd.rolling_max is deprecated for ndarrays and will be removed in a future version
                rolling_max(arr, win)

[ 20.92%] ····· /tmp/pandas/asv_bench/benchmarks/gil.py:307: FutureWarning: pd.rolling_mean is deprecated for ndarrays and will be removed in a future version
                rolling_mean(arr, win)

[ 21.04%] ····· /tmp/pandas/asv_bench/benchmarks/gil.py:313: FutureWarning: pd.rolling_min is deprecated for ndarrays and will be removed in a future version
                rolling_min(arr, win)

[ 21.16%] ····· /tmp/pandas/asv_bench/benchmarks/gil.py:331: FutureWarning: pd.rolling_skew is deprecated for ndarrays and will be removed in a future version
                rolling_skew(arr, win)

[ 21.27%] ····· /tmp/pandas/asv_bench/benchmarks/gil.py:343: FutureWarning: pd.rolling_std is deprecated for ndarrays and will be removed in a future version
                rolling_std(arr, win)

[ 21.39%] ····· /tmp/pandas/asv_bench/benchmarks/gil.py:325: FutureWarning: pd.rolling_var is deprecated for ndarrays and will be removed in a future version
                rolling_var(arr, win)

[ 21.50%] ····· /tmp/pandas/asv_bench/benchmarks/gil.py:290: FutureWarning: pd.rolling_median is deprecated for ndarrays and will be removed in a future version
                rolling_median(arr, win)

[ 31.10%] ····· /tmp/pandas/asv_bench/benchmarks/groupby.py:383: FutureWarning: pd.TimeGrouper is deprecated and will be removed; Please use pd.Grouper(freq=...)
                self.df.groupby(TimeGrouper(key='dates', freq='M')).size()

[ 42.89%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.01%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.12%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.24%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.35%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.47%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.58%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.70%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.82%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 43.93%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 44.05%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 44.16%] ····· /tmp/pandas/asv_bench/benchmarks/indexing.py:190: FutureWarning: sortlevel is deprecated, use sort_index(level= ...)
                self.mdt2 = self.mdt.set_index(['A', 'B', 'C', 'D']).sortlevel()

[ 50.52%] ····· /tmp/pandas/asv_bench/benchmarks/join_merge.py:25: FutureWarning: consolidate is deprecated and will be removed in a future release.
                self.mdf1.consolidate(inplace=True)

[ 50.64%] ····· /tmp/pandas/asv_bench/benchmarks/join_merge.py:25: FutureWarning: consolidate is deprecated and will be removed in a future release.
                self.mdf1.consolidate(inplace=True)

[ 81.97%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:205: FutureWarning: pd.rolling_kurt is deprecated for ndarrays and will be removed in a future version
                rolling_kurt(self.arr, self.win)

[ 82.08%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:190: FutureWarning: pd.rolling_max is deprecated for ndarrays and will be removed in a future version
                rolling_max(self.arr, self.win)

[ 82.20%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:181: FutureWarning: pd.rolling_mean is deprecated for ndarrays and will be removed in a future version
                rolling_mean(self.arr, self.win)

[ 82.31%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:184: FutureWarning: pd.rolling_median is deprecated for ndarrays and will be removed in a future version
                rolling_median(self.arr, self.win)

[ 82.43%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:187: FutureWarning: pd.rolling_min is deprecated for ndarrays and will be removed in a future version
                rolling_min(self.arr, self.win)

[ 82.54%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:202: FutureWarning: pd.rolling_skew is deprecated for ndarrays and will be removed in a future version
                rolling_skew(self.arr, self.win)

[ 82.66%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:196: FutureWarning: pd.rolling_std is deprecated for ndarrays and will be removed in a future version
                rolling_std(self.arr, self.win)

[ 82.77%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:193: FutureWarning: pd.rolling_sum is deprecated for ndarrays and will be removed in a future version
                rolling_sum(self.arr, self.win)

[ 82.89%] ····· /tmp/pandas/asv_bench/benchmarks/stat_ops.py:199: FutureWarning: pd.rolling_var is deprecated for ndarrays and will be removed in a future version
                rolling_var(self.arr, self.win)

[ 84.05%] ····· /tmp/pandas/asv_bench/benchmarks/strings.py:43: FutureWarning: currently extract(expand=None) means expand=False (return Index/Series/DataFrame) but in a future version of pandas this will be changed to expand=True (return DataFrame)
                self.many.str.extract('(\\w*)matchthis(\\w*)')

[ 88.90%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:96: FutureWarning: the infer_dst=True keyword is deprecated, use ambiguous='infer' instead
                self.index.tz_localize('US/Eastern', infer_dst=True)

[ 92.49%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:162: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...)..apply(<func>)
                  self.df.resample('1s', how=np.max)

[ 92.60%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:165: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...).max()
                  self.df.resample('1s', how='max')

[ 92.72%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:168: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...)..apply(<func>)
                  self.df.resample('1s', how=np.mean)

[ 92.83%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:171: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...).mean()
                  self.df.resample('1s', how='mean')

[ 92.95%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:174: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...)..apply(<func>)
                  self.df.resample('1s', how=np.min)

[ 93.06%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:177: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...).min()
                  self.df.resample('1s', how='min')

[ 93.18%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:205: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...).mean()
                  self.ts2[:10000].resample('5min', how='mean')

[ 93.29%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:208: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...).ohlc()
                  self.ts2[:10000].resample('5min', how='ohlc')

[ 93.41%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:195: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...).mean()
                  self.ts1.resample('D', how='mean')

[ 93.53%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:202: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...).last()
                  self.dt_ts.resample('1S', how='last')

[ 93.64%] ····· /tmp/pandas/asv_bench/benchmarks/timeseries.py:198: FutureWarning: how in .resample() is deprecated
                the new syntax is .resample(...).mean()
                  self.ts2.resample('D', how='mean')

[ 99.54%] ····· /tmp/pandas/asv_bench/benchmarks/timestamp.py:17: FutureWarning: .offset is deprecated. Use .freq instead
                self.ts.offset

Output of pd.show_versions()

INSTALLED VERSIONS ------------------ commit: baadad7 python: 2.7.14.final.0 python-bits: 64 OS: Linux OS-release: 4.13.0-12-generic machine: x86_64 processor: x86_64 byteorder: little LC_ALL: None LANG: en_US.UTF-8 LOCALE: None.None

pandas: 0.21.0.dev+550.gbaadad758.dirty
pytest: 3.1.2
pip: 9.0.1
setuptools: 36.0.1
Cython: 0.27
numpy: 1.13.1
scipy: 0.19.0
pyarrow: None
xarray: None
IPython: 5.4.1
sphinx: None
patsy: 0.4.1
dateutil: 2.6.1
pytz: 2017.2
blosc: None
bottleneck: None
tables: 3.4.2
numexpr: 2.6.4
feather: None
matplotlib: 2.0.2
openpyxl: 2.4.8
xlrd: 1.0.0
xlwt: 1.3.0
xlsxwriter: 1.0.0
lxml: 3.8.0
bs4: 4.6.0
html5lib: 0.999999999
sqlalchemy: 1.1.14
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: 0.5.0

@jorisvandenbossche
Copy link
Member

Yes, that's a known issues (I thought we had it mentioned somewhere in an issue, but can't find it).
We mainly need to figure out a way to keep it running for older versions as well without having those warnings / code breaks.

Eg for resample that could be a small wrapper like

def resample(df, freq, how):
    if (check version):
        return getattr(df.resample(freq), how)()
    else:
        return df.resample(freq, how)

For others it might not always be worth to make this effort

@jreback jreback added Compat pandas objects compatability with Numpy or Python functions Difficulty Intermediate Performance Memory or execution speed performance labels Oct 1, 2017
@jreback jreback added this to the Next Major Release milestone Oct 1, 2017
@gliptak
Copy link
Contributor Author

gliptak commented Oct 6, 2017

@jorisvandenbossche How many major previous releases do you see supporting? (one could checkout and run the corresponding version of the performance bench ...)

@mroeschke
Copy link
Member

All warning on the asv benches should have been caught since #19236 was merged recently

@jorisvandenbossche
Copy link
Member

OK, closing this then. When we actually remove deprecated functionality, and asv would break, it will be catched by travis now.

@jorisvandenbossche jorisvandenbossche modified the milestones: Next Major Release, No action Feb 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Compat pandas objects compatability with Numpy or Python functions Performance Memory or execution speed performance
Projects
None yet
Development

No branches or pull requests

5 participants
@gliptak @jreback @jorisvandenbossche @mroeschke and others