Pandas 基于深度列的数据帧重采样
我有两个数据帧,Pandas 基于深度列的数据帧重采样,pandas,resampling,Pandas,Resampling,我有两个数据帧,键是深度。一个值大于2k,另一个值仅为100,但最小深度和最大深度相同。我想对小数据帧(只有一列)进行上采样,使其与大数据帧的大小相同,并在两个深度之间重复相同的列值 我曾经尝试过使用连接和重采样,但是当我想找到相同的深度时,我被卡住了,因为两个数据帧深度没有完全相同的值 我有这个: df_small: depth Litholog 0 38.076 2.0 1 39.546 2.0 2 41.034 4.0 3 55.133
键是深度。一个值大于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
我尝试了几种方法,但没有成功。非常感谢all如果可以更改两种方法中相同最大值和最小值的样本数据,请使用:
#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