English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Pandas 설명 통계

Pandas 설명적 통계 작업 예제

DataFrame는 대량의 계산 설명적 통계 및 관련 작업에 사용됩니다. 대부분은 모으기로 사용됩니다(예를 들어 sum(),mean()),하지만 일부 모으기 작업(예를 들어 sumsum())은 같은 크기의 객체를 생성합니다. 일반적으로 이러한 메서드는 축 매개변수를 사용합니다. ndarray와 같이 {sum,std,...}와 같습니다. 하지만 이름이나 정수로 축을 지정할 수 있습니다 DataFrame − 인덱스 (axis=0, 기본), 열 (axis=1)

우리는 DataFrame를 생성하고 이 장에서 이 객체를 모든 작업에 사용하겠습니다.

예제

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # DataFrame를 생성합니다
 df = pd.DataFrame(d)
 print(df)

실행 결과:

        연령  이름   평점
0   25   Tom     4.23
1   26   James   3.24
2   25   Ricky   3.98
3   23   Vin     2.56
4   30   Steve   3.20
5   29   Smith   4.60
6   23   Jack    3.80
7   34   Lee     3.78
8   40   David   2.98
9   30   Gasper  4.80
10  51   Betina  4.10
11  46   Andres  3.65

sum()

요청된 축의 값의 합을 반환합니다. 기본적으로, 축은 인덱스입니다(축=0)

 import pandas as pd
 import numpy as np
  
 #Series 딕셔너리를 생성합니다
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.sum())

실행 결과:

    Age                                                    382
Name    TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating                                               44.92
dtype: object

각 단일 열에 문자가 추가됩니다

axis=1

이 문법은 다음과 같은 내용을 출력합니다。

 import pandas as pd
 import numpy as np
  
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
  
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.sum(1))

실행 결과:

    0    29.23
1    29.24
2    28.98
3    25.56
4    33.20
5    33.60
6    26.80
7    37.78
8    42.98
9    34.80
10   55.10
11   49.65
dtype: float64

mean()

평균 값을 반환합니다.

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.mean())

실행 결과:

    Age       31.833333
Rating     3.743333
dtype: float64

std()

수치 열의 Bressel 표준 편차를 반환합니다.

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.std())

실행 결과:

    Age       9.232682
Rating    0.661628
dtype: float64

기능 및 설명

이제 Python Pandas의 설명적 통계 정보에서의 기능을 이해해 보겠습니다. 다음 표는 중요한 기능을 나열합니다:

번호메서드설명
1count()비어있지 않은 수
2sum()총합
3mean()평균
4median()중位数
5mode()모드
6std()표준편차
7min()최소값
8max()최대값
9abs()절대값
10prod()
11cumsum()취합
12cumprod()취합
주의: − DataFrame는 혼합 데이터 구조이므로, 모든 기능에 대해 일반적인 계산은 적용되지 않습니다.
    sum()나 cumsum()와 같은 함수는 숫자나 문자(또는) 문자열 데이터 요소에 대해 사용할 수 있으며, 어떤 오류도 발생하지 않습니다. 문자 집합은 널리 사용되지 않지만, 어떤 예외도 발생하지 않습니다.
  • DataFrame가 문자나 문자열 데이터를 포함하고 있을 때, abs()나 cumprod()와 같은 함수는 이러한 작업을 수행할 수 없기 때문에 예외가 발생합니다.

데이터 요약

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.describe())

실행 결과:

                Age    Rating
count    12.000000      12.000000
mean     31.833333       3.743333
std       9.232682       0.661628
min      23.000000       2.560000
25%      25.000000       3.230000
50%      29.500000       3.790000
75%      35.500000       4.132500
max      51.000000       4.800000

이 함수는 평균, std 및 IQR 값을 제공합니다. 또한, 함수는 문자열 열과 숫자 열에 대한 주어진 요약을 포함하지 않습니다. “include”는 요약할 때 고려해야 할 열에 대한 필요한 정보를 전달하는 필수 매개변수입니다. 값 목록; 기본적으로는 “숫자”입니다.

object − 문자열 열을 요약합니다number − 숫자 열을 요약합니다all − 모든 열을 함께 요약합니다(리스트 값으로는 사용하지 않아야 합니다)

프로그램에서 다음 문장을 사용하고 실행하여 출력하겠습니다:

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.describe(include=['object']))

실행 결과:

           Name
count       12
unique      12
top    Ricky
freq         1

프로그램에서 다음 문장을 사용하고 실행하여 출력하겠습니다:

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df. describe(include='all'))

실행 결과:

           Age          Name       Rating
count   12.000000        12    12.000000
unique        NaN        12          NaN
top           NaN     Ricky          NaN
freq          NaN         1          NaN
mean    31.833333       NaN     3.743333
std      9.232682       NaN     0.661628
min     23.000000       NaN     2.560000
25%     25.000000       NaN     3.230000
50%     29.500000       NaN     3.790000
75%     35.500000       NaN     4.132500
max     51.000000       NaN     4.800000