본문 바로가기

파이썬 팁13

클래스, 메소드 정보 조회하기 클래스, 메소드 정보 조회하기¶ 1. 클래스 정보 조회하기¶ In [ ]: # list 클래스의 정보 조회 help(dict) # 결과 생략 In [37]: # list의 메소드만 보고 싶으면 dir() 사용 dir(dict) # 결과 생략 Out[37]: ['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__l.. 2022. 12. 1.
결측치에 그룹별 최빈값 대입하기 결측치에 그룹별 최빈값 넣기¶ In [1]: import numpy as np import pandas as pd In [73]: # 데이터프레임 생성 df1 = pd.DataFrame({'col1' : list('a' * 4 + 'b' * 4), 'col2' : [np.nan, 1, 1, 2, np.nan, 3, 2, 1]}) df1 Out[73]: col1 col2 0 a NaN 1 a 1.0 2 a 1.0 3 a 2.0 4 b NaN 5 b 3.0 6 b 2.0 7 b 1.0 In [70]: # a 그룹에서는 최빈값이 1 하나만 나오지만, b 그룹에서는 최빈값이 여럿이라 1, 2, 3 모두 출력 df1.groupby('col1')['col2'].apply(pd.Series.mode) Out[70]:.. 2022. 11. 27.
zip 함수의 활용 zip() 함수는 여러 개의 반복 가능한(iterable) 객체를 인자로 받고, 순서대로 튜플로 엮는 함수이다. In [9]: a = [1, 2, 3] b = [7, 8, 9] for elements in zip(a, b) : print(elements) (1, 7) (2, 8) (3, 9) In [10]: # 따로 출력하는 것도 가능 for i, j in zip(a, b) : print(i, j) 1 7 2 8 3 9 In [3]: # print안의 인자 앞에 *을 붙여주면 개별 요소를 출력함 print(*zip(a,b)) (1, 7) (2, 8) (3, 9) In [4]: # 셋 이상의 객체를 엮는 것도 가능 c = ('가', '나', '다') d = [-7, (0, 7), 'A'] print(*zi.. 2022. 11. 18.
조건에 맞는 데이터에 값 대입 조건에 맞는 데이터에 값 대입¶ 데이터프레임에서 특정 조건을 만족하는 데이터를 조건색인으로 검색해 값을 대입하는 경우 In [1]: import pandas as pd import numpy as np In [4]: # 데이터프레임 생성 x = pd.DataFrame({'no':[30, 30, 32, 33, 34], 'name':['James', 'Min', 'Kevin', 'Liz', 'Anne']}) x Out[4]: no name 0 30 James 1 30 Min 2 32 Kevin 3 33 Liz 4 34 Anne In [3]: # no가 30인 데이터의 name을 aa로 변경 x.loc[x['no'] == 30, 'name'] = 'aa' x Out[3]: no name 0 30 aa 1 30.. 2022. 11. 11.