【发布时间】:2018-10-28 03:13:04
【问题描述】:
我想通过等效分区将数据框列的连续值转换为离散值。
比如下面是我的input。
我想将a列中的连续值分成3个区间。
Input:
import pandas as pd
import numpy as np
df = pd.DataFrame({'a':[1.1, 1.2, 1.3, 2.4, 2.5, 4.1]})
Output:
a
0 1.1
1 1.2
2 1.3
3 2.4
4 2.5
5 4.1
a列中,最小值为1.1,最大值为4.1,我想将其分为3 intervals。
如您所见,每个区间的大小等于(4.1-1.1)/3 = 1.0。所以我可以将[1.1, 2.1)(大于等于1.1且小于2.1)区间内的所有值视为0,将[2.1, 3.1)区间内的所有值视为1,并且[3.1, 4.1]区间内的所有值都为2。
所以这是我的预期结果。
Expected:
a
0 0
1 0
2 0
3 1
4 1
5 2
【问题讨论】:
标签: python pandas dataframe divide