我有一个包含深度列的数据框,深度间隔为0.1米。
import pandas as pd
df1 = pd.DataFrame({'depth': [1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1 ],
'350': [7.898167, 6.912074, 6.049002, 5.000357, 4.072320, 3.070662, 2.560458, 2.218879, 1.892131, 1.588389, 1.573693],
'351': [8.094912, 7.090584, 6.221289, 5.154516, 4.211746, 3.217615, 2.670147, 2.305846, 1.952723, 1.641423, 1.622722],
'352': [8.291657, 7.269095, 6.393576, 5.308674, 4.351173, 3.364569, 2.779837, 2.392813, 2.013316, 1.694456, 1.671752],
'353': [8.421007, 7.374317, 6.496641, 5.403691, 4.439815, 3.412494, 2.840625, 2.443868, 2.069017, 1.748445, 1.718081 ],
'354': [8.535562, 7.463452, 6.584512, 5.485725, 4.517310, 3.438680, 2.890678, 2.487039, 2.123644, 1.802643, 1.763818 ],
'355': [8.650118, 7.552586, 6.672383, 4.517310, 4.594806, 3.464867, 2.940732, 2.530211, 2.178271, 1.856841, 1.809555 ]},
index=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
)
我的问题是:如何将数据划分成0.5米深度频率的新数据框?
或者说,我应该如何对df1中的列值进行平均(每0.1米有一个数据),以便得出dz=0.5米的区间?
重点是要获得相同的数据框结构,相同的列(350-355),但是行应该按照一定的dz间隔(行数)进行平均/分组,假设为0.5米。
因此,在这种情况下,我的新数据框将只有两行,深度值为1.35和1.85米,保持每个列在df1中的值。第一行将平均值为1.1-1.6米的间隔,第二行为1.6-2.1米的间隔。