>

이미 집계 된 수치 데이터의 데이터 세트가 있습니다. 즉, 원래 값, 개수 (원래 데이터 세트에서 지정된 값의 발생 횟수)를 포함합니다.

집계 된 데이터 세트 만 사용하여 원본 데이터 세트에 대한 설명 통계를 얻는 방법. 간단한 솔루션을 찾고 있습니다 (기존 라이브러리 및 함수를 사용하는 것이 좋습니다).

예 :

원래 데이터 셋이 [1, 1, 1, 1, 1, 2, 2, 2, 4] 라고 가정하자 . 다음과 같이 설명 통계를 계산할 수 있습니다 (예 : 팬더 사용) :

data = [1, 1, 1, 1, 1, 2, 2, 2, 4]
df = pandas.DataFrame(data, columns = ['value'])
print(df.describe())

출력 :

         value
count  9.000000
mean   1.666667
std    1.000000
min    1.000000
25%    1.000000
50%    1.000000
75%    2.000000
max    4.000000

동일하지만 집계 된 데이터는 다음과 같습니다 : [[1, 5], [2, 3], [4, 1]]  (값 1  5 번 발생, 값 2  3 번 발생, 값 4  한 번 발생). 집계 된 데이터 세트를 사용하여 동일한 결과를 얻고 싶습니다.


  • 답변 # 1

    집계 된 df 데이터 프레임이 다음과 같다고 가정합니다.

    print(df_agg) #read below df by df_agg = pd.read_clipboard()
       value  Size
    0      1     5
    1      2     3
    2      4     1
    
    
    <시간>

    pd.Index.repeat 를 사용할 수 있습니다  이를 수행하는 기능 :

    df_agg.loc[df_agg.index.repeat(df_agg['Size']),['value']].describe()
    
    

    또는 np.repeat :

    pd.DataFrame(np.repeat(df_agg['value'],df_agg['Size'])).describe()
    
    
    <시간>
             value
    count  9.000000
    mean   1.666667
    std    1.000000
    min    1.000000
    25%    1.000000
    50%    1.000000
    75%    2.000000
    max    4.000000
    
    

    위치 :

    print(df_agg.loc[df_agg.index.repeat(df_agg['Size']),['value']])
    
    

    출력 :

      value
    0      1
    0      1
    0      1
    0      1
    0      1
    1      2
    1      2
    1      2
    2      4
    
    

  • 이전 jquery - 단일 부모 요소가있는 자식으로 HTML을 빌드하기 위해 자바 스크립트에서 재귀
  • 다음 c# - systemlinq - 다음 메소드 또는 특성간에 호출이 모호합니다