我有两个数据框,其中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
我尝试了几种方法但没有成功。非常感谢大家
如果可以更改两者中相同最大值和最小值的样本数据,请使用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