根据族的大小生成新行

2024-05-16 12:53:20 发布

您现在位置:Python中文网/ 问答频道 /正文

在这个问题上,我想使用python中的任何库来帮助我

我们有一个变量N

举个例子,假设N=3(我希望N是动态的,所以如果我改变它,输出就会改变)

为了举例说明,input是一个有两列的数组

Depth   SBL
1100    10
1300    10
1450    8
1650    8
1770    8
1863    5
1900    5
1956    4
2012    3
2068    2
2124    1
2180    1
2236    1
2292    1
2348    1

然后我们创建一个新行来显示SBL被重复了多少次

df['family_size'] = df.SBL.map(df.SBL.value_counts())

输出是

    Depth   SBL family_size
0   1100    10  2
1   1300    10  2
2   1450    8   3
3   1650    8   3
4   1770    8   3
5   1863    5   2
6   1900    5   2
7   1956    4   1
8   2012    3   1
9   2068    2   1
10  2124    1   5
11  2180    1   5
12  2236    1   5
13  2292    1   5
14  2348    1   5

那我要面对的是

基于N的重采样 举个例子来说是3

我想让python操作“interpolate”(创建新数据或删除实际数据,并将新数据放入下采样,大小为N=3),换句话说,强制family\u size为N=3

并相应地改变深度。如果可能的话,为每一个SBL添加一个值为1,2,3的新列

像下面的输出

Depth   SBL POSTION
1100    10  1
1200    10  2
1300    10  3
1450    8   1
1650    8   2
1770    8   3
1863    5   1
1881.5  5   2
1900    5   3
1928    4   1
1956    4   2
1984    4   3
…etc    …etc    1
…etc    …etc    2
…etc    …etc    3

Tags: 数据mapdfinputsizevalueetc动态