【问题标题】:How to calculate mean values from a column from a range of another column如何从另一列的范围计算一列的平均值
【发布时间】:2019-07-10 12:40:15
【问题描述】:

我有一个包含两列距离(m)和高度(m)的数据框。

我想从 0.04439 米的距离间隔计算最大、最小和平均高度值。

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

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

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

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

数据框

Distance(m) Hauteur(m)
0   0.00000 0.024711
1   0.00222 0.027125
2   0.00444 0.027961
3   0.00592 0.028880
4   0.00814 0.029417
5   0.01036 0.030100
6   0.01184 0.031440
7   0.01406 0.033486
8   0.01628 0.035371
9   0.01702 0.034865
10  0.01850 0.034976
11  0.02072 0.035458
12  0.02220 0.035132
13  0.02442 0.035541
14  0.02516 0.034973
15  0.02738 0.034044
16  0.02886 0.033878
17  0.03108 0.032232
18  0.03256 0.033035
19  0.03478 0.030564
20  0.03700 0.031252
21  0.03848 0.030833
22  0.04070 0.031696
23  0.04144 0.030501
24  0.04366 0.029986
up to 403 values



df3=df1[['Distance(m)', 'Hauteur(m)']]

bins = [0, 0.0439, 0.0878, 0.1317, 0.1756, 0.2195, 0.2634, 0.3073, 0.3512, 0.3951, 0.439, 0.4829, 0.5268, 0.5707, 0.6146, 0.6595, 0.7024, 0.7463, 0.7902]


df3['min'] = pd.cut(df3['Hauteur(m)'].min, bins)
df3['min']

错误显示:Input array must be 1 dimensional

有没有人有任何可以帮助我的建议?谢谢!

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    这就是您遇到错误的地方:.min

    可以做些什么:

    df3['categories'] = pd.cut(df3['Hauteur(m)'], bins)
    
    (df3.groupby('categories')['Distance(m)', 'Hauteur(m)'].agg(
        {'max': 'max', 
         'min': 'min', 
         'average': 'mean'}))
    

    【讨论】:

    • 出现警告!试图在 DataFrame 中的切片副本上设置值。尝试改用 .loc[row_indexer,col_indexer] = value 查看文档中的警告:pandas.pydata.org/pandas-docs/stable/… c:\python_jedi\python37\lib\site-packages\pandas\core\groupby\generic.py:1315: FutureWarning: using不推荐使用重命名的字典,并将在未来版本中删除 return super(DataFrameGroupBy, self).aggregate(arg, *args, **kwargs)
    猜你喜欢
    • 2021-08-19
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 2020-08-02
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    相关资源
    最近更新 更多