Python Pandas-기술 통계

많은 메서드가 DataFrame에서 기술 통계 및 기타 관련 작업을 집합 적으로 계산합니다. 대부분은 다음과 같은 집계입니다.sum(), mean(), 하지만 그들 중 일부는 sumsum(), 동일한 크기의 개체를 생성합니다. 일반적으로 이러한 방법은axisndarray. {sum, std, ...} 와 같은 인수 이지만 축은 이름 또는 정수로 지정할 수 있습니다.

  • DataFrame − "index"(축 = 0, 기본값), "columns"(axis = 1)

DataFrame을 만들고이 장에서 모든 작업에 대해이 개체를 사용하겠습니다.

import pandas as pd
import numpy as np

#Create a Dictionary of 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])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df

이것의 output 다음과 같습니다-

Age  Name   Rating
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

합집합()

요청 된 축에 대한 값의 합계를 반환합니다. 기본적으로 축은 인덱스 (축 = 0)입니다.

import pandas as pd
import numpy as np
 
#Create a Dictionary of 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])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.sum()

이것의 output 다음과 같습니다-

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

각 개별 열은 개별적으로 추가됩니다 (문자열이 추가됨).

축 = 1

이 구문은 아래와 같이 출력을 제공합니다.

import pandas as pd
import numpy as np
 
#Create a Dictionary of 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])
}
 
#Create a DataFrame
df = pd.DataFrame(d)
print df.sum(1)

이것의 output 다음과 같습니다-

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

평균()

평균값을 반환합니다.

import pandas as pd
import numpy as np

#Create a Dictionary of 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])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.mean()

이것의 output 다음과 같습니다-

Age       31.833333
Rating     3.743333
dtype: float64

std ()

숫자 열의 Bressel 표준 편차를 반환합니다.

import pandas as pd
import numpy as np

#Create a Dictionary of 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])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.std()

이것의 output 다음과 같습니다-

Age       9.232682
Rating    0.661628
dtype: float64

기능 및 설명

이제 Python Pandas의 기술 통계에있는 함수를 이해하겠습니다. 다음 표에는 중요한 기능이 나열되어 있습니다.

Sr. 아니. 함수 기술
1 카운트() Null이 아닌 관측치 수
2 합집합() 값의 합계
평균() 가치의 평균
4 중앙값() 가치의 중앙값
5 방법() 가치 모드
6 std () 값의 표준 편차
7 min () 최소값
8 max () 최대 가치
9 abs () 절대 값
10 찌르다() 가치의 제품
11 cumsum () 누적 합계
12 cumprod () 누적 제품

Note− DataFrame은 이기종 데이터 구조이기 때문입니다. 일반 작업은 모든 기능에서 작동하지 않습니다.

  • 같은 기능 sum(), cumsum()오류없이 숫자 및 문자 (또는) 문자열 데이터 요소 모두에서 작동합니다. 그러나n 실제로 문자 집계는 일반적으로 사용되지 않으며 이러한 함수는 예외를 발생시키지 않습니다.

  • 같은 기능 abs(), cumprod() 이러한 작업을 수행 할 수 없기 때문에 DataFrame에 문자 또는 문자열 데이터가 포함 된 경우 예외가 발생합니다.

데이터 요약

그만큼 describe() 함수는 DataFrame 열과 관련된 통계 요약을 계산합니다.

import pandas as pd
import numpy as np

#Create a Dictionary of 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])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.describe()

이것의 output 다음과 같습니다-

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

이 기능은 mean, stdIQR가치. 그리고 함수는 문자 열과 숫자 열에 대한 요약을 제외합니다.'include'요약을 위해 고려해야 할 열에 대한 필수 정보를 전달하는 데 사용되는 인수입니다. 값 목록을 가져옵니다. 기본적으로 '숫자'입니다.

  • object − 문자열 열 요약
  • number − 숫자 열 요약
  • all − 모든 열을 함께 요약합니다 (목록 값으로 전달하면 안 됨).

이제 프로그램에서 다음 명령문을 사용하여 출력을 확인하십시오.

import pandas as pd
import numpy as np

#Create a Dictionary of 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])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.describe(include=['object'])

이것의 output 다음과 같습니다-

Name
count       12
unique      12
top      Ricky
freq         1

이제 다음 문을 사용하여 출력을 확인하십시오.

import pandas as pd
import numpy as np

#Create a Dictionary of 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])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df. describe(include='all')

이것의 output 다음과 같습니다-

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