Skip to content

Commit 92d3c67

Browse files
committed
[26660] compare int with double by subtracting during describe percentiles formatting
1 parent 5574a9f commit 92d3c67

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

pandas/io/formats/format.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1246,7 +1246,7 @@ def format_percentiles(percentiles):
12461246
raise ValueError("percentiles should all be in the interval [0,1]")
12471247

12481248
percentiles = 100 * percentiles
1249-
int_idx = (percentiles.astype(int) == percentiles)
1249+
int_idx = ((percentiles.astype(int) - percentiles) < 1e-4)
12501250

12511251
if np.all(int_idx):
12521252
out = percentiles.astype(int).astype(str)

pandas/tests/io/formats/test_format.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2729,6 +2729,11 @@ def test_format_percentiles():
27292729
expected = ['0%', '50%', '2.0%', '50%', '66.67%', '99.99%']
27302730
assert result == expected
27312731

2732+
result = fmt.format_percentiles(np.linspace(0, 1, 10 + 1))
2733+
expected = ['0%', '10%', '20%', '30%', '40%', '50%',
2734+
'60%', '70%', '80%', '90%', '100%']
2735+
assert result == expected
2736+
27322737
msg = r"percentiles should all be in the interval \[0,1\]"
27332738
with pytest.raises(ValueError, match=msg):
27342739
fmt.format_percentiles([0.1, np.nan, 0.5])

0 commit comments

Comments
 (0)