根据深度列重新采样数据帧

问题描述 投票:2回答:1

我有两个数据框,其中key是深度。一个有> 2k值,另一个只有100,但最小和最大深度是相同的。我想对较小的数据帧(只有一列)进行上采样,并在较大的数据帧中重复相同的值,并在两个深度之间重复相同的列。

我尝试过使用连接和重新采样,但是当我想要找到相同的深度时我就卡住了,因为两个数据帧的深度没有完全相同的值

我有这个:

df_small:
    depth  Litholog
0  38.076       2.0
1  39.546       2.0
2  41.034       4.0
3  55.133       3.0
4  69.928       2.0

还有这个:

df_big:
     depth  
0  21.3360         
1  35.2044         
2  37.6428        
3  41.7576         
4  41.9100         
5  48.7680         
6  53.1876         
7  56.0832         
8  58.3692         
9  62.1792 

我想这个:

df_result:
     depth  Litholog
0  21.3360         2
1  35.2044         2
2  37.6428         2
3  41.7576         4
4  41.9100         4
5  48.7680         4
6  53.1876         4
7  56.0832         3
8  58.3692         3
9  62.1792         2 

我尝试了几种方法但没有成功。非常感谢大家

pandas resampling
1个回答
1
投票

如果可以更改两者中相同最大值和最小值的样本数据,请使用merge_asof

#change sample data for same min,max by df_big
print (df_small)
     depth  Litholog
0  21.3360       2.0
1  39.5460       2.0
2  41.0340       4.0
3  55.1330       3.0
4  62.1792       2.0

df = pd.merge_asof(df_big, df_small, on='depth')
print (df)
     depth  Litholog
0  21.3360       2.0
1  35.2044       2.0
2  37.6428       2.0
3  41.7576       4.0
4  41.9100       4.0
5  48.7680       4.0
6  53.1876       4.0
7  56.0832       3.0
8  58.3692       3.0
9  62.1792       2.0
© www.soinside.com 2019 - 2024. All rights reserved.