如何使用python

时间:2019-07-09 11:13:55

标签: python pandas numpy

我有一个包含两列Distance(m)height(m)的数据框。我想从0.04439 m的距离间隔中计算maxminaverage的高度值。

距离是一个从 0到0.81m的连续序列,每个0.00222m,长度共403个值

目的是从每个0.0439m距离(0到0.81m之间的连续距离序列)的18个间隔中提取18个高度值(最大最小平均值)

然后,创建每个距离间隔及其高度的最大最小值和平均值的数据框(2列)

这是一个例子:

Interval distance     Height_max(m)     Height_min(m)     Height_average(m)

1                       0.35            0.15           0.25  

2                       0.55            0.22           0.35  

3                       0.25            0.10           0.15

我的数据框中只有2列:

Distance(m) = [0, 0.0022, 0.0044, .... 0.81 ]
Height(m) = [ 0, 0.1, 0.5, 0.4, 0.9, .... 0.1]

有人对我有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我相信您需要cut来按间隔对列进行装箱,然后通过GroupBy.agg进行汇总,并使用汇总函数列表:

d = pd.cut(df['Distance'], [0, 0.0022, 0.0044, .... 0.81 ])
h = pd.cut(df['Height'],  [0, 0.1, 0.5, 0.4, 0.9, .... 0.1])

df.groupby([d, h])['Height'].agg(['min','max','mean'])