여러 문자열 열이 있는 데이터 프레임이 있다고 가정합니다. 처음 두 열의 각 조합에는 세 번째 열에 유효한 값이 하나만 있어야 합니다. 처음 두 열로 데이터 프레임을 그룹화하고 각 조합에 대해 세 번째 열의 가장 일반적인 값을 선택하여 데이터를 일관되게 정리해야 합니다.
다음 코드는 다음을 보여줍니다. 이를 달성하려는 시도:
source = pd.DataFrame({
source.groupby(['국가','도시']).agg(lambda x: stats.mode(x[' 짧은 name'])[0])
그러나 마지막 코드 줄은 KeyError로 인해 실패합니다. 이 문제를 어떻게 해결할 수 있습니까? 문제가 있습니까?
Pandas 버전 0.16의 경우 나중에 다음을 사용하십시오. 코드:
source.groupby(['국가','도시'])['약칭'].agg(pd.Series.mode)
이 코드는 Pandas 0.16에서 도입된 pd.Series.mode 함수를 사용하여
Series.mode 함수는 여러 모드가 있는 경우를 효과적으로 처리합니다. p>
< h4>고려할 대안
할 수 있는 동안 Python의 Statistics.mode를 사용하면 여러 모드를 제대로 처리하지 못하고 StatisticsError가 발생할 수 있습니다. 따라서 권장하지 않습니다.
위 내용은 Pandas DataFrame 그룹에서 가장 일반적인 값을 효율적으로 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!