팬더 value_counts 백분율
-
Pandas
value_counts()
함수를 사용하여 Python의 Dataframe에서 값 계산 -
열 목록에
value_counts()
함수 적용 - Python에서 빈도를 백분율로 변환
![팬더 value_counts 백분율](/img/Python-Pandas/feature-image---pandas-value_counts-percentage.webp)
value_counts()
함수를 사용하여 값을 계산하는 방법과 이 함수를 데이터 프레임 열 목록에 적용하는 방법을 알아봅니다. 파이썬에서 주파수를 백분율로 변환하는 방법도 배웁니다.
Pandas value_counts()
함수를 사용하여 Python의 Dataframe에서 값 계산
value_counts()
함수는 groupby()
함수와 약간 유사하게 작동하지만 value_counts()
함수를 사용하는 이점도 있습니다.
이 Pandas 기능을 탐색하기 위해 분석을 위해 직원 데이터 세트를 사용하고 각 부서의 직원 비율을 찾습니다.
목표는 급여의 간단한 데이터 프레임을 만들고 부서의 급여와 직원이 떠나는 부서로 직원의 상위 세그먼트를 찾는 것입니다. 그리고 우리는 빈도를 백분율로 바꿀 것입니다. 이 모든 것은 value_counts()
함수로 수행할 수 있습니다.
Pandas를 가져와 변수인 pd
로 저장한 다음 pd
변수를 사용하여 read_csv()
함수를 호출하고 HR_file.csv
라는 데이터 파일을 전달합니다.
처음 5개의 행과 몇 개의 열을 제공하는 head()
함수에 액세스할 수 있습니다.
import pandas as pd
Employee_Data = pd.read_csv("HR_file.csv")
Employee_Data.head()
항상 대괄호를 사용하여 관심 있는 열을 분리할 수 있으며 대괄호 안에 salary
열을 호출할 것입니다. 이제 value_counts()
함수를 사용할 것입니다.
Employee_Data["salary"].value_counts()
급여의 저, 중, 고 분포를 볼 수 있습니다.
low 7316
medium 6446
high 1237
Name: salary, dtype: int64
정규화
매개변수
Shift+Tab을 누르면 이 기능에 필요한 것이 무엇인지 항상 확인할 수 있으며, 예를 들어 정규화
와 같이 사용할 수 있는 몇 가지 다른 매개변수가 있음을 알 수 있습니다.
대부분의 급여가 낮음
범주에 속한다는 것을 알 수 있지만 백분율을 얻으려면 정규화
를 참
과 동일하게 사용합니다.
Employee_Data["salary"].value_counts(normalize=True)
출력:
low 0.487766
medium 0.429762
high 0.082472
Name: salary, dtype: float64
부서
열을 사용하여 급여
열을 쉽게 변경할 수 있습니다.
Employee_Data["Departments "].value_counts(normalize=True)
우리는 부서의 분류를 볼 수 있으며 여전히 정규화되어 있습니다.
sales 0.276018
technical 0.181345
support 0.148610
IT 0.081805
product_mng 0.060137
marketing 0.057204
RandD 0.052470
accounting 0.051137
hr 0.049270
management 0.042003
Name: Departments , dtype: float64
정규화를 원하지 않으면 내림차순으로 표시되는 것을 제거합니다.
Employee_Data["Departments "].value_counts()
출력:
sales 4140
technical 2720
support 2229
IT 1227
product_mng 902
marketing 858
RandD 787
accounting 767
hr 739
management 630
Name: Departments , dtype: int64
열 목록에 value_counts()
함수 적용
다음으로 우리가 할 수 있는 것은 급여
와 부서
에 의한 직원 간의 교차점입니다. 목록을 사용하여 하나 이상의 열을 사용하고 목록 내에서 salary
및 Departments
를 전달한 다음 value_counts()
함수를 적용합니다.
Departments
앞에 약간의 공백이 보이면 부서에서 어떤 이유로 뒤에 공백을 추가한 것이므로 이 열을 사용하여 공백을 추가합니다.
Employee_Data[["Departments ", "salary"]].value_counts()
우리 직원들의 매출이 대부분이고 대부분이 낮은 범위에 있는 것을 볼 수 있고 여기까지 내려오면 매출이 높은데 연봉은 269명에 불과하다는 것을 알 수 있습니다. 그리고 2099년은 연봉이 낮은 편입니다.
Python에서 빈도를 백분율로 변환
이제 우리는 직원들이 어떤 부서를 떠났는지 알고 싶습니다. 이를 위해 회사 종료
열을 사용합니다.
Employee_Data[["Departments ", "Quit the Company"]].value_counts()
보시다시피 1
은 회사를 그만둔 사람에 관한 것이므로 우리는 그 사람만 볼 것입니다. 대다수의 사람들이 영업
부서를 떠났습니다.
이제 매출
만 평가하면 됩니다. 조건을 생성하고 마스크를 가져와 부서
열을 쉽게 분리할 수 있습니다.
Employee_Data["Departments "] == "sales"
이제 이 조건을 대괄호로 캡슐화하고 sales
라는 변수에 저장합니다. 매출
을 사용하여 회사를 그만둔 사람들의 가치 수를 살펴보고 있습니다.
sales = Employee_Data[Employee_Data["Departments "] == "sales"]
sales["Quit the Company"].value_counts()
이제 회사를 그만 둔 숫자를 볼 수 있습니다.
0 3126
1 1014
Name: Quit the Company, dtype: int64
이것을 백분율로 보는 것이 좋을 수 있습니다.
sales = Employee_Data[Employee_Data["Departments "] == "sales"]
sales["Quit the Company"].value_counts(normalize=True)
출력:
0 0.755072
1 0.244928
Name: Quit the Company, dtype: float64
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn