python 데이터 분석 및 모델링 실현 - 첫 번째 노트
10404 단어 python 데이터 분석
처음 블로그를 쓰는데 안 좋은 점이 있으면 양해해 주시고 좋아해 주셨으면 좋겠습니다.1. 데이터 읽기 - 2.데이터 처리 -- 2.1.이상 값(빈 값) 처리 - 2.1.1 삭제 - 2.1.2 지칭 - 3.4분의 1로 이상치 제거 - 4.정적 구조 분석 - 5.데이터 파티션 간 - 6.영문 이상값 데이터 처리 - 7.비교 분석
전언
먼저 우리는 데이터 분석을 하고 가장 과학적이고 진실한 결론을 얻으려면 반드시 좋은 데이터가 있어야 한다.실제로 우리가 직면하는 것은 모두 복잡하고 변화가 많은 데이터이기 때문에 반드시 강력한 데이터 처리 능력을 가져야 한다. 다음에 나는 우리가 직면한 가장 진실한 상황에서 한 걸음 한 걸음 여러분에게 어떻게 하는지 가르쳐 드리겠습니다.
1. 데이터 읽기
(1)
Import pandas as pd
Import numpy as np
(2)
df = pd.read_csv(".data/HR.csv")
(3)
sl_s=df["sactisfaction_level"]
2. 데이터 처리
2.1.예외 값(빈 값) 처리
2.1.1 삭제
우선, 첫 번째 단계는 빈 값을 처리하는 것이다.두 가지가 있는데, 하나는 직접 삭제하고, 다른 하나는 지칭한다.데이터가 많으면 간단하게 하려면 바로 삭제하는 방법도 간단하다.
, DataFrame
1. :
df.isnull() # , True
2.
df.dropna() #
subset
df.dropna(subset=["B"]) # B
:
df.duplicated(["A"]) #A True
A
df.drop_duplicates(["A"])
df.drop_duplicates(["A"],keep=False) # A
df.drop_duplicates(["A"],keep=first) # A ,
df.drop_duplicates(["A"],keep=last) # A ,
2.1.2 지칭
일부 데이터는 매우 중요하기 때문에 삭제할 수 없다. 그러면 우리는 지칭, 즉 교체를 선택한다
# “b*”
df.fillna("b*")
#E
df.fillna(df["E"].mean())
#
,
, ( + )/2
df["E"].interpolate()
#3 order
df["E"].interpolate(method="spline",order=3)
* 함수
(4) ( True) --isnull()
sl_s.isnull()
(5)
sl_s[sl_s.isnull()]
(6)
df[df["sactisfaction_level"].isnull()]
(7) --dropna()
sl_s=sl_s.dropna()
:
where() , dropna()
(8) --fillna()
sl_s=sl_s.fillna()
(9) --mean()
sl_s.mean()
(10) --std()
Sl_s.std()
(11) --max()
sl_s.max()
(12) --min()
sl_s.min()
(13) --median()
sl_s.median()
(14) --quantile(q=0.25)
sl_s.quantile(q=0.25)
(15) --quantile(q=0.75)
sl_s.quantile(q=0.75)
(16) --skew()
sl_s.skew()
: 0 ,
0
0, , 。
(17) --kurt()
sl_s.kurt()
:<0 ,
0 ,
(18) (numpy ) --histogram()
np.histogram(sl_s.values,bins = np.arange(0.0,1.1,0.1))
:
[195,1214,532,974,…]
[0.0,0.1,0.2,0.3,0.4…]
0.0-0.1 195 ,0.1-0.2 1214 ,
0.1
3. 4분의 1로 이상치 제거
3.1. 1
le_s[le_s>1]
3.2 1
le_s[le_s<=1]
3.3 ( )
3.3.1
q_low=le_s.quantile(q =0.25)
3.3.2
q_high=le_s.quantile(q=0.75)
3.3.3
q_interval=q_high-q_low
3.3.4 k
K=1.5~3
k=1.5,
k=3.0,
3.3.5
le_s=le_s[le_sq_low-k*q_interval]
3.4 --len()
len(le_s)
3.5 (numpy )
np.histogram(le_s.values,bins=np.arange(0.0,1.1,0.1))
3.6 , , , , , , , 。
4. 정적 구조 분석
4.1 --values_counts()
np_s.value_counts()
4.2 ( )
np_s.value_counts(normalize=True)
4.3
np_s.value_counts(normalize=True).sort_index()
5. 데이터 파티션 간
5.1 --histogram()
np.histogram(amh_s.values,bins=10) 10
5.2 ,
( )
Np.histogram(amh_s.values,bins = np.arange(amh_s.min(),amh_s.max()+10,10))
( )
amh_s.value_counts(bins=np.arange(amh_s.min(),amh_s.max()+10,10))
6. 영문 이상값 데이터 처리
6.1 ,
s_s.value_counts()
6.2 。
6.3 (NaN) --where()
s_s.where(s_s!="name")
”name”
6.4 --dropna()
s_s.where(s_s!="name").dropna()
6.5
s_s.where(s_s!="name").dropna().value_counts()
7. 비교 분석
7.1
Df = df.dropna(axis=0,how=’any’)
axis =0 ,
how=‘any’
how=‘all’
7.2
df=df[df["last_evaluation"]<=1][df["salary"]!="name"][df["department"]!="sale"]
7.3 ( : ) --groupby()
df.groupby("department")
7.4
df.groupby("department").mean()
7.5 ( ) --loc()
df.loc[:,["last_evaluation","department"]].groupby("department")
7.6
df.loc[:,["last_evaluation","department"]].groupby("department").mean()
7.7 --apply()
df.loc[:,["average_monthly_hours","department"]].groupby("department")[ "average_monthly_hours"].apply(lambda x:x.max()-x.min())
초심을 잃지 않고 계속 전진하라!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
데이터 분석 기초(一)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.