我有两个数据帧,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
我尝试了几种方法,但没有成功。非常感谢所有人
答案 0 :(得分: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