按 python 中的索引对二维数据进行分箱
binning two dimensional data by its index in python
我如何根据数据索引对一些数据进行分类,在 python 3
假设我有以下数据
1 0.5
3 0.6
5 0.7
6 0.8
8 0.9
10 1
11 1.1
12 1.2
14 1.3
15 1.4
17 1.5
18 1.6
19 1.7
20 1.8
22 1.9
24 2
25 2.1
28 2.2
31 2.3
35 2.4
我将如何获取这些数据并对两列进行分箱,以便每个分箱中都有 n 个值,然后对每个分箱中的数字进行平均并输出它们。
例如,如果我想按 4
对值进行分箱
我会取前四个数据点:
1 0.5
3 0.6
5 0.7
6 0.8
这些的平均值为:3.75 0.65
我会通过下一组四个继续往下走,依此类推
直到我对所有四组进行平均得到这个:
3.75 0.65
10.25 1.05
16 1.45
21.25 1.85
29.75 2.25
如何使用 python
您可以 "bin" 将索引分成 4 组并在索引中调用 groupby
。
df.groupby(df.index // 4).mean()
0 1
0 3.75 0.65
1 10.25 1.05
2 16.00 1.45
3 21.25 1.85
4 29.75 2.25
基于 numpy
reshape
pd.DataFrame([np.mean(x.reshape(len(df)//4,-1),axis=1) for x in df.values.T]).T
0 1
0 3.75 0.65
1 10.25 1.05
2 16.00 1.45
3 21.25 1.85
4 29.75 2.25
我如何根据数据索引对一些数据进行分类,在 python 3
假设我有以下数据
1 0.5
3 0.6
5 0.7
6 0.8
8 0.9
10 1
11 1.1
12 1.2
14 1.3
15 1.4
17 1.5
18 1.6
19 1.7
20 1.8
22 1.9
24 2
25 2.1
28 2.2
31 2.3
35 2.4
我将如何获取这些数据并对两列进行分箱,以便每个分箱中都有 n 个值,然后对每个分箱中的数字进行平均并输出它们。 例如,如果我想按 4
对值进行分箱我会取前四个数据点:
1 0.5
3 0.6
5 0.7
6 0.8
这些的平均值为:3.75 0.65
我会通过下一组四个继续往下走,依此类推 直到我对所有四组进行平均得到这个:
3.75 0.65
10.25 1.05
16 1.45
21.25 1.85
29.75 2.25
如何使用 python
您可以 "bin" 将索引分成 4 组并在索引中调用 groupby
。
df.groupby(df.index // 4).mean()
0 1
0 3.75 0.65
1 10.25 1.05
2 16.00 1.45
3 21.25 1.85
4 29.75 2.25
基于 numpy
reshape
pd.DataFrame([np.mean(x.reshape(len(df)//4,-1),axis=1) for x in df.values.T]).T
0 1
0 3.75 0.65
1 10.25 1.05
2 16.00 1.45
3 21.25 1.85
4 29.75 2.25