【发布时间】:2020-06-02 12:59:47
【问题描述】:
我正在尝试将这些值分箱到我的数据的一些自定义箱中。数据框中的 Coulmn1 由一大组随机数组成,范围从 1.4 到 1.9。 假设初始数据框如下所示:
Index Col1
1 1.4678
2 1.5001
3 1.5795
4 1.5234
... ......
98 1.6754
99 1.6399
100 1.4910
我想要做的是将落在下面列出的箱的 +/- 0.002 范围内的数字分箱。即,我想对第一个 bin 中所有落在 1.458 和 1.462 范围内的数据进行 bin 处理。输出应该是这样的
Index Col1 Bin_names
1 1.4678 NaN
2 1.5001 1.50
3 1.5795 1.58
4 1.5234 NaN
... ...... ....
98 1.6754 NaN
99 1.6399 1.64
100 1.4910 NaN
我尝试了下面的代码,但它将 1.46 到 1.48 之间的所有数据分箱到一个箱中,这不是我想要的。
bins = [1.46,1.48,1.5,1.52,1.54,1.56,1.58,1.60,1.62,1.64,1.66,1.68,1.70]
df['Bin_names'] = pd.cut(df['Column1'], bins, labels=['1.48','1.5','1.52','1.54','1.56','1.58','1.60','1.62','1.64','1.66','1.68','1.70'])
如何根据我的要求对数据进行分类?
【问题讨论】:
-
你能提供一个示例的预期输出吗?例如哪个 bin 落在 1.467 中?
-
@fmarm 我已经用最终数据框的外观更新了问题。