【问题标题】:Getting Quantiles from Classmark-based Frequency Data从基于分类标记的频率数据中获取分位数
【发布时间】:2020-06-21 05:25:44
【问题描述】:

我一直在努力编写代码以获得 10、50 和 90 个分位数(分位数是将样本分成相等大小的位置)。每一行都是一个不同的样本。此数据框中的数据是每个类别标记的频率(在列中表示)。

import pandas as pd

main_folder = r'c:user/sherwood/documents/data.csv'
datos = pd.read_csv(main_folder)
datos.head()

output[1]:
    'sample_number' 'classmark1' 'classmark2' 'classmark3' ... 
                        0.37         0.44         0.52
           1          freq1_1      freq1_2       freq1_3
           2          freq2_1      freq2_2       freq2_3
           3          freq3_1      freq3_2       freq3_3
           .
           .
           .

分类标记为 0.37、0.44、0.52 等。请注意,类宽度在分布上是未知的,也不相等。 Here is the data in excel(右栏为样本,但未在数据框中使用)

我想弄清楚如何通过仅将类标记作为标题来获得每一行的分位数 10、50 和 90

(在统计学中,类标记是类区间内的一个值,尤其是它的中点或最接近的整数值,用于表示区间以方便计算)。

【问题讨论】:

    标签: python pandas quantile


    【解决方案1】:

    尝试使用 .describe()

    import pandas as pd
    main_folder = r'c:user/sherwood/documents/data.csv'
    datos = pd.read_csv(main_folder)
    datos.describe(percentiles = [0.1,0.5,0.9]).filter( regex = '%',axis = 0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 2022-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      相关资源
      最近更新 更多