당신은 3개의 문자열 열이 있는 데이터 프레임을 정리하여 다음을 보장해야 합니다. 세 번째 열에는 처음 두 열의 지정된 조합에 대한 올바른 값이 포함되어 있습니다. 제공한 코드 조각은 처음 두 열을 기준으로 데이터 프레임을 그룹화하고 각 조합에 대해 세 번째 열의 가장 일반적인 값을 선택하려고 시도합니다. 그러나 agg 함수를 실행하려고 할 때 문제가 발생합니다.
코드에 사용한 구문이 오래되었습니다. . 대신 Pandas 버전 0.16 이상에서 사용할 수 있는 pd.Series.mode 함수를 활용하세요. 이 함수는 일련의 문자열에서 가장 일반적인 값을 반환합니다. 적용 방법은 다음과 같습니다.
source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode)
이 구문은 데이터 프레임을 '국가' 및 '도시'별로 그룹화하고, pd.Series.mode 함수를 각 그룹의 '짧은 이름' 열에 적용하고, 결과.
DataFrame으로 출력이 필요한 경우 다음을 사용하세요. line:
source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode).to_frame()
pd.Series.mode 함수는 여러 모드가 존재하는 상황도 효과적으로 처리합니다. 예를 들어, 가장 일반적인 값과 동일한 빈도로 여러 값이 발생하는 경우 모드 목록으로 반환됩니다.
Python 표준 라이브러리의 Statistics.mode 함수를 사용할 수 있습니다. 그러나 이 접근 방식은 여러 모드를 처리할 때 제대로 작동하지 않습니다. 가장 일반적인 값이 하나도 없으면 StatisticsError가 발생합니다.
위 내용은 그룹화 후 Pandas DataFrame 열에서 가장 일반적인 값을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!