ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 20200618
    데이터 분석 2020. 6. 18. 17:23
    df['a'].apply(myExp,n=3) # 함수사용apply
    
    df.apply(printMe , axis=0) #axis=0 디폴트 
    
    def myAvg2(data):
        return (data[0]+data[1]+data[2])/3
        
    import seaborn as sns
    titanic = sns.load_dataset('titanic')
    titanic.info()
    import numpy as np 
    
    def countMissing(v):
        # print(np.sum(pd.isnull(v)))
        nullCount = np.sum(pd.isnull(v))
        return nullCount
    
    # titanic.apply(countMiss) # 열벡터 단위
    
    def propMissing(v):
        n = countMissing(v)
        return n/v.size
    
    titanic.apply(propMissing)
    titanic.apply(propMissing, axis = 1)
    #타이타닉 데이터 프레임에 numMissing 컬럼 추가 
    #numMissing에는 행단위로 결측값의 개수가 저장 
    
    titanic['numMissing'] = titanic.apply(countMissing, axis = 1)
    titanic
    
    tips  = sns.load_dataset('tips')  # 카테고리 ~ 범주형 여러 클래스로 구분 되어짐 .. 
    #string - object 
    tips.info()
    tips.dtypes
    
    tips['sex_str'] = tips['sex'].astype(str)
    tips.dtypes
    tipsEx['total_bill'] = pd.to_numeric(tipsEx['total_bill'],errors='ignore')    #에러없지만 object
    tipsEx.info()
    
    tipsEx['total_bill'] = pd.to_numeric(tipsEx['total_bill'],errors='coerce') # 에러없이 float 문자 를nan
    tipsEx.info()
    tipsEx
    
    #year 단위로 그룹화 한다음 기대수명치 (lifeExp)의 평균 출력 
    df.groupby(by = 'year')['lifeExp'].mean()
    aleby = df.groupby('year').lifeExp.mean()
    
    #df 에서 year열에 대해 유일한 값만 추출 
    df['year'].unique()
    df.year.unique()
    
    #set 집합 
    set(df.year)
    
    #df에서year가 1952년도인 모든 자료 출력 
    #df[df['year'] =='1952']
    #df.loc[df.year == 1952]
    df['year'] = df['year'].astype('int')
    
    y1952 = df.loc[df.year == 1952,:]
    y1952
    y1952Mean = y1952['lifeExp'].mean()     # y1952.lifeExp.mean() 
    df.info()
    
    #연도 단위로 기대수명치의 평균 출력 (myMean함수 사용)
    # df.groupby('year').lifeExp.apply(myMean)    #내가만든함수 
    df.groupby('year').lifeExp.agg([np.mean])    # 이미만들어진 함수 
    df.groupby('year').lifeExp.agg([np.mean,np.std,np.count_nonzero]) #여러개 함수 가능 
    
    ebola = pd.read_csv('../Data/country_timeseries.csv',parse_dates=['Date'])#데이트가 날짜형식
    ebola.info()
    
    pd.to_datetime('06/20/18')
    d1 = pd.to_datetime('06/20/18',format="%m/%y/%d")  #to_datetime
    d1.year
    d1.month
    d1.day
    
    
    ebola.tail(5)
    ebola.loc[[117,118,119,120,121]]
    ebola.loc[117:,]
    ebola.iloc[-5:,:5]  # 원하는 행 추출 
    
    ebola['dateDt'].min()   #가장오래된날짜   날짜형식도 수치 = 수치 최소값min
    ebola['dateDt'] - ebola['dateDt'].min() #발병일 이후 몇일이 지낫나?
    
    # ebola['Date'][0].year  #object 타입 에러 
    ebola['dateDt'][0].year
    ebola['dateDt'].dt.month   # dt의 이유 seriese는 속성전체 안됨.month X 특정 날짜의 속성을하려면dt 
    ebola['dateDt'].dt.day
    
    banks = pd.read_csv('../Data/banklist.csv',parse_dates=[5,6])  # 인덱스 번호도 가능
    bank
    bank.info()
    
    #몇년도에 파산한 은행이 제일 많을까 ?
    Closing_year= banks.groupby(['Closing_year']).size()
    banks['Closing_year'].value_counts()#내림차순 정렬
    
    

    '데이터 분석' 카테고리의 다른 글

    랜덤포레스트  (0) 2020.07.08
    summary  (0) 2020.07.03
    아파트 데이터 분석  (0) 2020.07.01
    day3  (0) 2020.06.24
Designed by Tistory.