-
-
Notifications
You must be signed in to change notification settings - Fork 18.2k
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
TST: make test_astype_categorical_to_other deterministic #26244
Conversation
The use of an unseeded random number generator means that this test can occasionally fail for no particular reason. In particular, I saw the following error: =================================== FAILURES =================================== ______________ TestSeriesDtypes.test_astype_categorical_to_other _______________ self = <pandas.tests.series.test_dtypes.TestSeriesDtypes object at 0x7f223951b750> def test_astype_categorical_to_other(self): df = DataFrame({'value': np.random.randint(0, 10000, 100)}) labels = ["{0} - {1}".format(i, i + 499) for i in range(0, 10000, 500)] cat_labels = Categorical(labels, labels) df = df.sort_values(by=['value'], ascending=True) df['value_group'] = pd.cut(df.value, range(0, 10500, 500), right=False, labels=cat_labels) s = df['value_group'] expected = s tm.assert_series_equal(s.astype('category'), expected) tm.assert_series_equal(s.astype(CategoricalDtype()), expected) msg = (r"could not convert string to float: '(0 - 499|9500 - 9999)'|" r"invalid literal for float\(\): (0 - 499|9500 - 9999)") with pytest.raises(ValueError, match=msg): > s.astype('float64') E AssertionError: Pattern 'could not convert string to float: '(0 - 499|9500 - 9999)'|invalid literal for float\(\): (0 - 499|9500 - 9999)' not found in 'invalid literal for float(): 9000 - 9499' By setting the random number seed, this should no longer be able to happen.
Codecov Report
@@ Coverage Diff @@
## master #26244 +/- ##
==========================================
- Coverage 91.97% 91.96% -0.01%
==========================================
Files 175 175
Lines 52368 52368
==========================================
- Hits 48164 48160 -4
- Misses 4204 4208 +4
Continue to review full report at Codecov.
|
1 similar comment
Codecov Report
@@ Coverage Diff @@
## master #26244 +/- ##
==========================================
- Coverage 91.97% 91.96% -0.01%
==========================================
Files 175 175
Lines 52368 52368
==========================================
- Hits 48164 48160 -4
- Misses 4204 4208 +4
Continue to review full report at Codecov.
|
Hmm the message on your traceback doesn't match the current test. Were you getting this on master? |
Nope, we're still running pandas 0.24.1. But it may be worth making this test deterministic regardless.... |
Yea not opposed to that. Do you see an easy way to get rid of the random call altogether though? On initial glance may be easier to read if we were to use literal values with a smaller frame if it's not too much extra effort |
I'm sure literal values with a smaller frame would be even better, but I
don't have the time to dive into the details of this test.
…On Mon, Apr 29, 2019 at 6:14 PM William Ayd ***@***.***> wrote:
Yea not opposed to that. Do you see an easy way to get rid of the random
call altogether though? On initial glance may be easier to read if we were
to use literal values with a smaller frame if it's not too much extra effort
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#26244 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAJJFVUDPNMQ6YTLDHB27CTPS6MOLANCNFSM4HJHTCEQ>
.
|
fixed on master, xref #25225 |
thanks @shoyer |
The use of an unseeded random number generator means that this test can
occasionally fail for no particular reason.
In particular, I saw the following error:
By setting the random number seed, this should no longer be able to happen.
git diff upstream/master -u -- "*.py" | flake8 --diff