Python Pandas 는 데이터 그룹 을 나 누 어 평균 값 을 구하 고 nan 의 예제 를 채 웁 니 다.
DataFrame 데이터 형식
fillna 방식 구현
groupby 방식 구현
DataFrame 데이터 형식
다음은 데이터 저장 형식 입 니 다.
fillna 방식 구현
1.industry Name 1 열 에 따라 실적 을 선별한다.
2.같은 업 종의 Series 를 선별한다
3.평균 값 mean 을 계산 하고 fillna 함수 로 채 웁 니 다.
4.append 새 DataFrame 에
5.업계 이름 을 순환 적 으로 옮 겨 다 니 며 2,3,4 단계 완성
factordatafillna = pd.DataFrame()
industrys = newfactordata1.industryName1.unique()
for ind in industrys:
t = newfactordata1.industryName1 == ind
a = newfactordata1[t].fillna(newfactordata1[t].mean())
factordatafillna = factordatafillna.append(a)
groupby 방식 구현groupby 로 계산 합 니 다.코드 설명 을 자세히 보 세 요.
df = pd.DataFrame({'code':[1,2,3,4,5,6,7,8],
'value':[np.nan,5,7,8,9,10,11,12],
'value2':[5,np.nan,7,np.nan,9,10,11,12],
'indstry':[' 1',' 1',' 1',' 2',' 2',' 4',' 2',' 3']},
columns=['code','value','value2','indstry'],
index=list('ABCDEFGH'))
#
cols = [col for col in df.columns if col not in['code','indstry']]
#
gp_col = 'indstry'
# nan
df_na = df[cols].isna()
#
df_mean = df.groupby(gp_col)[cols].mean()
print(df)
#
for col in cols:
na_series = df_na[col]
names = list(df.loc[na_series,gp_col])
t = df_mean.loc[names,col]
t.index = df.loc[na_series,col].index
# index
df.loc[na_series,col] = t
print(df)
code value value2 indstry
A 1 NaN 5.0 1
B 2 5.0 NaN 1
C 3 7.0 7.0 1
D 4 8.0 NaN 2
E 5 9.0 9.0 2
F 6 10.0 10.0 4
G 7 11.0 11.0 2
H 8 12.0 12.0 3
code value value2 indstry
A 1 6.0 5.0 1
B 2 5.0 6.0 1
C 3 7.0 7.0 1
D 4 8.0 10.0 2
E 5 9.0 9.0 2
F 6 10.0 10.0 4
G 7 11.0 11.0 2
H 8 12.0 12.0 3
이상 의 Python Pandas 는 데이터 그룹 을 나 누 어 평균 값 을 구하 고 nan 을 채 우 는 예 시 는 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 가 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.