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, std 과 IQR가치. 그리고 함수는 문자 열과 숫자 열에 대한 요약을 제외합니다.'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