변환을 사용하여 그룹 평균으로 누락된 값 채우기
누락된 값이 있는 DataFrame에서는 의미 있는 값으로 채우는 것이 일반적입니다. 한 가지 접근 방식은 각 그룹의 평균값을 계산하는 것입니다.
다음 DataFrame을 고려하세요.
df = pd.DataFrame({ "value": [1, np.nan, np.nan, 2, 3, 1, 3, np.nan, 3], "name": ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C'] })
목표는 모든 "NaN" 값을 해당 "NaN" 내의 평균값으로 채우는 것입니다. name" 그룹.
이를 달성하기 위해 그룹별 작업과 함께 변환 기능을 사용할 수 있습니다. 변환 함수는 지정된 변환을 각 그룹에 적용하는 반면, groupby 작업은 DataFrame을 특정 열(이 경우 "이름")을 기반으로 그룹으로 분할합니다.
해결책은 다음과 같습니다.
grouped = df.groupby("name").mean() df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
fillna 함수는 누락된 값을 지정된 값(이 경우 평균)으로 채웁니다. 람다 함수는 채우기 전에 각 그룹에 대한 평균이 계산되도록 합니다.
결과 DataFrame에는 각 그룹의 평균 값으로 채워지는 누락된 값이 있습니다.
name value 0 A 1 1 A 1 2 B 2 3 B 2 4 B 3 5 B 1 6 C 3 7 C 3 8 C 3
위 내용은 '변환'을 사용하여 누락된 DataFrame 값을 그룹 수단으로 채우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!