Pandas: RLS:0.20.0

创建于 2017-04-18  ·  50评论  ·  资料来源: pandas-dev/pandas

我们即将发布 0.20.0 版本,因此打开一个问题来跟踪它。

带有 0.20 标签的剩余问题/PR:https://github.com/pandas-dev/pandas/milestones/0.20.0
如果还有其他事情,是时候说出来了

抄送@pandas-dev/pandas-core

Release

最有用的评论

0.20.0 候选版本破坏了我的大量代码,而 AFAICS 破坏发生在以前不推荐使用的模块中,因此第 3 方库没有时间适应新的 api。

外部参照:#16137,#16138

我认为应该认真考虑为至少一个次要版本提供兼容层。 这并不难,也不需要坚持很长时间,但会给 3rd 方库一个适应的变化。 所需的工作在 PR #16140

所有50条评论

我想发布候选的当前目标是本周五, @TomAugspurger

是的,这就是目标。

这只是本周五的 RC。 我们可能需要 2 周或更长时间。

是的,这就是我的意思,抱歉造成混乱

今晚或明天早些时候做 RC。 在剩下的问题中,#16088 是一个拦截器,#16086 会很好。 有什么我想念的吗?

@jreback您是否倾向于在标记 RC 后立即标记v0.21.dev ,而不是等待标记v0.21.dev直到完整的 0.20 版本? 如果我们现在标记 0.21.dev,那么我们可以将我们想要的任何内容合并到 master 中,我将向后移植从现在到 0.20 版本之间需要向后移植的任何内容。

不,这些都很好。 我会看看几个。

嗯,在 0.20.0 之前标记 0.21.dev 感觉很奇怪。

嗯,在 0.20.0 之前标记 0.21.dev 感觉很奇怪。

我不认为这有什么奇怪的。 当我们分支0.20.x 分支时,这只是一个实际的选择(标记只是这样做的结果):现在使用 rc,或者仅在最终版本之后。

对我来说,这两种选择都可以。 分支现在使得推进/合并 PR 变得更容易一些(我们不必担心我们合并哪个 PR,或者必须等到 0.20 出来),但是对于 Tom 进行反向移植需要更多的工作。

@TomAugspurger对于 0.20 仍有一些文档问题,但您不必太担心它们,至于 rc,我们通常指向进一步更新的开发文档(我的意思是,标记 rc 不会冻结docs,与最终版本一样)

好的对任何有意义的标记开放。

是的,文档问题当然可以在之后完成(以及少量的附加修复,已经标记为 0.20.0)。 主要是排序之一。

@TomAugspurger好的,我列表中的所有内容都已合并。

👍 现在构建并在本地测试。 我今晚可能会标记。

Conda-forge 还没有决定预发布的东西,所以我可能会等到明天发布公告(必须完成这个 windows VM 的设置)。

好的 lmk 如果你需要什么
虽然明天大部分时间都不会出现

好的,在 github 上标记并发布。 明天做所有的 conda 工作和邮件列表公告。

刚刚发出了通知邮件。 所有的轮子都在 PyPI 上。 我们的 conda 频道包含适用于 OSX 和 64 位 Windows 的软件包。 我还没有设置 32 位 windows 环境。 Linux 软件包应该很快就会上线(意外构建 0.19.2)。

谢谢@TomAugspurger

由于我们没有标记 0.21.0.dev(我认为我们应该在标记 0.20.0 final 之后执行此操作),然后继续合并小东西以掌握。

#16111 可以在 0.20.final 之前修复吗? 这是一个导致 Pandas 使整个 Python 解释器崩溃的错误,没有留下任何回溯或关于哪里出了问题的线索。

不过,我没有能力自己解决此问题,因此请认为这只是来自快乐用户的请求。 此外,我已经制定了自己的(非最佳)解决方法,但这可能会给其他人带来负面的惊喜......

编辑:这已经处理好了。 谢谢!

0.20.0 候选版本破坏了我的大量代码,而 AFAICS 破坏发生在以前不推荐使用的模块中,因此第 3 方库没有时间适应新的 api。

外部参照:#16137,#16138

我认为应该认真考虑为至少一个次要版本提供兼容层。 这并不难,也不需要坚持很长时间,但会给 3rd 方库一个适应的变化。 所需的工作在 PR #16140

这就是为什么我们希望人们使用 rc 进行测试,非常感谢您的反馈@dhirschfeld

人们希望在 0.20 中加入的任何剩余问题/修复? https://github.com/pandas-dev/pandas/pull/16171是我看到的唯一拦截器。

如果这对每个人都有效,我可能会在周二或周三发布。

在 #16223 和剩余的文档修复之后,我认为很好。 我们可以做一个 rc2(也许只是 conda 包)。 为了快速检查? 由你决定@TomAugspurger

是的,我可以在 RC2 上使用任何一种方式......可能只为 conda 包做一个,并针对 dask、statsmodels 等进行测试。

确定有效。

我什至应该将 RC2 推送到 PyPI 吗? 或者只是标记,推送到 github,然后构建 conda pkgs?

不,我只会做一些 conda 包。

现在要做RC2。

我们有两个未解决的文档问题,但这些问题可以在 RC2 和发布之间进行。

我在master上重新启动。 这应该有效。 我发布了新版本的 gbq,因为使用的是PandasError (我们删除了它)

这些 gbq 有时会失败,如果有多个东西对它运行(例如 0.20rc2 标签和 master 同时启动)。

Dask、statsmodels 和 seaborn 在 rc2 上看起来都不错。 我在本地进行了 Windows 构建和测试,并且也通过了。

伟大的@TomAugspurger

是的,主人现在是绿色的(我刚刚重新启动了这些构建)。

我在使用 numpy-1.11.3+mkl 的 win-amd64-py3.6.1 上遇到三个测试失败。 test_shim失败由#16239 修复

running: pytest --skip-slow --skip-network X:\Python36\lib\site-packages\pandas
<snip>
================================== FAILURES ===================================
__________________________________ test_shim __________________________________

    def test_shim():
        # https://github.com/pandas-dev/pandas/pull/16059
        # Remove in 0.21
        with tm.assert_produces_warning(FutureWarning,
                                        check_stacklevel=False):
>           from pandas.formats.style import Styler as _styler  # noqa
E           ModuleNotFoundError: No module named 'pandas.formats'

X:\Python36\lib\site-packages\pandas\tests\io\formats\test_style.py:866: ModuleNotFoundError
______________________ TestSeriesAnalytics.test_overflow ______________________

self = <pandas.tests.series.test_analytics.TestSeriesAnalytics object at 0x0000019B01E52400>

    def test_overflow(self):
        # GH 6915
        # overflowing on the smaller int dtypes
        for dtype in ['int32', 'int64']:
            v = np.arange(5000000, dtype=dtype)
            s = Series(v)

            # no bottleneck
            result = s.sum(skipna=False)
            assert int(result) == v.sum(dtype='int64')
            result = s.min(skipna=False)
            assert int(result) == 0
            result = s.max(skipna=False)
            assert int(result) == v[-1]

            # use bottleneck if available
            result = s.sum()
>           assert int(result) == v.sum(dtype='int64')
E           AssertionError: assert 1642668640 == 12499997500000
E            +  where 1642668640 = int(1642668640)
E            +  and   12499997500000 = <built-in method sum of numpy.ndarray object at 0x0000019B061C0CB0>(dtype='int64')
E            +    where <built-in method sum of numpy.ndarray object at 0x0000019B061C0CB0> = array([      0,       1,       2, ..., 4999997, 4999998, 4999999], dtype=int64).sum

X:\Python36\lib\site-packages\pandas\tests\series\test_analytics.py:69: AssertionError
________________________ TestSeriesAnalytics.test_sum _________________________

self = <pandas.tests.series.test_analytics.TestSeriesAnalytics object at 0x0000019B69C32EB8>

    def test_sum(self):
>       self._check_stat_op('sum', np.sum, check_allna=True)

X:\Python36\lib\site-packages\pandas\tests\series\test_analytics.py:96:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
X:\Python36\lib\site-packages\pandas\tests\series\test_analytics.py:556: in _check_stat_op
    testit()
X:\Python36\lib\site-packages\pandas\tests\series\test_analytics.py:535: in testit
    assert_almost_equal(float(f(s)), float(alternate(s.values)))
X:\Python36\lib\site-packages\pandas\util\testing.py:177: in assert_almost_equal
    **kwargs)
pandas\_libs\testing.pyx:59: in pandas._libs.testing.assert_almost_equal (pandas\_libs\testing.c:4156)
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

>   ???
E   AssertionError: expected 1099511628275500.00000 but got 499500.00000, with decimal 5

pandas\_libs\testing.pyx:209: AssertionError
=========================== pytest-warning summary ============================
WC1 X:\Python36\lib\site-packages\pandas\tests\test_config.py cannot collect test class 'TestConfig' because it has a __init__ constructor
 3 failed, 9606 passed, 542 skipped, 21 xfailed, 1 xpassed, 1 pytest-warnings in 631.87 seconds

@cgohlke谢谢。 那是在32位Windows上吗?

它是 Windows 10 上来自 python.org 的 64 位 Python 3.6.1。

test_overflowtest_sum在卸载bottleneck-1.2.0 后通过。

卸载bottleneck-1.2.0 后test_overflow 和test_sum 通过。

谢谢,我能够在安装了瓶颈的 Windows VM 上重现(我之前没有安装它)。 看看现在发生了什么。

我们可能没有为 Windows 测试版本安装瓶颈

暂时跳过它们

我们正在 Windows 上测试 2.7 w/bottleneck,但不是 3.6....将添加和跳过/修复这些。

我们正在 Windows 上测试 2.7 w/bottleneck,但不是 3.6....将添加和跳过/修复这些。

是的,它肯定处于瓶颈中。 你是为了跳过那些做公关,还是应该做?

现在测试

x未通过这些测试: https ://ci.appveyor.com/project/jreback/pandas/build/1.0.3686
合并通过(我认为无论如何我们都有关于这个溢出的问题,这里:https://github.com/pandas-dev/pandas/issues/15453)

所以当我修复 0.21.0 中的瓶颈时,会解决这个问题。

@jreback感谢瓶颈问题在这里: https ://github.com/kwgoodman/bottleneck/issues/163

@TomAugspurger一切正常。 假设大师完成并通过。 准备好后切。 (显然,如果您在执行时看到任何文档内容,请推送修复)。

@jreback whatsnew 提到了一个新的hash_tuples 。 我们要在pandas.utilhash_pandas_object中公开它吗?

那不是公开的,我猜可能是

我只问,因为它在发行说明项目中。 虽然,dask 没有使用它,所以也许暂时将其保密?

是的,是私人的

OT - whatsnew note 需要更改的日期

https://github.com/pandas-dev/pandas/pull/16245中得到它

我将再推一个提交,删除对hash_tuples的引用,然后标记它。 将等待该文档构建首先完成。

0.20 发布了吗? pandas.pydata.org 说 0.19.2 是当前版本..

只需刷新,您就会看到。

此页面是否有帮助?
0 / 5 - 0 等级