【发布时间】:2017-08-25 13:05:24
【问题描述】:
当我尝试使用pd.cut 绘制(直方图的)条形图时,我得到一个有趣的(而且非常烦人!)0.001 添加到轴(从左侧),使其从-1.001 而不是 -1。问题是如何摆脱这种情况? (请看图)。
我的代码是:
out_i = pd.cut(df, bins=np.arange(-1,1.2,0.2), include_lowest=True)
out_i.value_counts(sort=False).plot.bar(rot=45, figsize=(6,6))
plt.tight_layout()
与 df:
a
0 -0.402203
1 -0.019031
2 -0.979292
3 -0.701221
4 -0.267261
5 -0.563602
7 -0.454961
8 0.632456
9 -0.843081
10 -0.629253
11 -0.946188
12 -0.628178
13 -0.776933
14 -0.717091
15 -0.392144
16 -0.799408
17 -0.897951
18 0.255321
19 -0.641854
20 -0.356393
21 -0.507321
22 -0.698238
23 -0.985097
25 -0.661444
26 -0.751593
27 -0.437505
28 -0.413451
29 -0.798745
30 -0.736440
31 -0.672727
32 -0.807688
33 -0.087085
34 -0.393203
35 -0.979730
36 -0.902951
37 -0.454231
38 -0.561951
39 -0.388580
40 -0.706501
41 -0.408248
42 -0.377235
43 -0.283110
44 -0.517428
45 -0.949603
46 -0.268667
47 -0.376199
48 -0.472293
49 -0.211781
50 -0.921520
51 -0.345870
53 -0.542487
55 -0.597996
【问题讨论】:
-
您是否完全想摆脱 x 轴标签?我在轴上真的看不到
0.001。 -
@JanTrienes,如果您注意到,X 刻度以 -1.001 开头,而不是
bins指定的 -1。我希望我的 x 刻度与bins所定义的完全一致。此外,还有-2.22e-16而不是0。 -
试试
pd.cut(..., include_lowest=False)。使用它,我得到以下间隔:[(-1.0, -0.8] < (-0.8, -0.6] < (-0.6, -0.4] < (-0.4, -0.2] ... (0.2, 0.4] < (0.4, 0.6] < (0.6, 0.8] < (0.8, 1.0]] -
所以你想要一个从 -1 开始的左闭区间。
right=False。-2.22e-16是浮点舍入误差 (-1 + 5* 0.2 != 0) -
是否可以从情节的小数点后二位开始砍掉所有内容?