반응형
열에서 항목 발생 빈도를 백분율로 가져옵니다.
df 열에서 특정 값의 백분율을 구하고 싶습니다.(col1, col2, col3, 성별) 성별 열에 M, F 또는 기타 값이 있다고 가정합니다.df에서 M, F, Other 값의 백분율을 구하고자 합니다.
M, F, Other instance라는 숫자를 주는 이것을 시도해 보았지만, 이것들을 df의 총 값의 백분율로 원합니다.
df.groupby('gender').size()
누가 도와줄 수 있습니까?
사용하다value_counts
와 함께normalize=True
:
df['gender'].value_counts(normalize=True) * 100
결과는 (0, 1) 범위의 분수입니다.%를 얻기 위해 여기에 100을 곱합니다.
볼 필요가 없는 경우M
그리고.F
이외의 값gender
열을 사용해 볼 수도 있습니다.value_counts()
그리고.count()
다음과 같이
df = pd.DataFrame({'gender':['M','M','F', 'F', 'F']})
# Percentage calculation
(df['gender'].value_counts()/df['gender'].count())*100
결과:
F 60.0
M 40.0
Name: gender, dtype: float64
또는 사용하기groupby
:
(df.groupby('gender').size()/df['gender'].count())*100
200개의 값이 있다고 하자 이 중 120개는 M, 80개는 F로 분류됩니다.
1)
df['gender'].value_counts()
output:
M=120
F=80
2)
df['gender'].value_counts(Normalize=True)
output:
M=0.60
F=0.40
3)
df['gender'].value_counts(Normalize=True)*100 #will convert output to percentages
output:
M=60
F=40
불균형을 확인하기 위한 목표 변동의 백분율을 찾습니다.
g = data[Target_col_Y]
df = pd.concat([g.value_counts(),
g.value_counts(normalize=True).mul(100)],axis=1,keys=('counts','percentage'))
print (df)
카운트 백분율
0 36548 88.734583
1 4640 11.265417
여기서 열 백분율에서 최대값을 찾음으로써 #margin이 어느 정도인지 확인합니다.
df1=df.diff(periods=1,axis=0)
difvalue=df1[[list(df1.columns)[-1]]].max()
print('(Gender Male= 0):\n {}%'.format(100 - round(df['Gender'].mean()*100, 2)))
print('(Gender Female=1):\n{}%'.format(round(df['Gender'].mean()*100, 2)))
언급URL : https://stackoverflow.com/questions/50558458/get-frequency-of-item-occurrences-in-a-column-as-percentage
반응형
'programing' 카테고리의 다른 글
워드프레스 - meta_query와 tax_query를 함께 사용? (0) | 2023.09.14 |
---|---|
Mac용 좋은 CIDE? (0) | 2023.09.14 |
XML에서 특성 값 가져오기 (0) | 2023.09.14 |
log와 symlog의 차이점은 무엇입니까? (0) | 2023.09.09 |
regex, 일치하지 않는 경우 처리 사례에 대해 첫 번째 일치가 있는 문자열 반환 (0) | 2023.09.09 |