유용한 코드
1. numpy
1) 순위를 알고 싶을때(값이 큰게 1위, 순위는 0부터시작이라 추가적으로 1을 더함)
(np.argsort(np.abs(eigen[0, :]))[::-1] + 1)
2. pandas
1) 데이터 프레임 인덱스 주어줄때 다중인덱싱
- 인덱스가 2개로 [앞줄 인덱스, 뒷줄인덱스]
- 앞줄의 경우 정의한 변수를 가져온다면, ‘1’, ‘2’를 하나의 인덱스로 가지고 있어서 sorted(list(range(6)) * 2)에서 2를 곱해준다.
pd.DataFrame(테이블명,index=[[age_dict.get(str(x)) for x in sorted(list(range(6)) * 2)],['1', '2'] * 6], columns=컬럼명)
- 예시 결과
2) 딕셔너리를 데이터프레임으로 바꿀때
- orient를 사용하지않으면 인덱스 지정안한 것
pd.DataFrame.from_dict(테이블, orient='index', columns=컬럼명)
3) 다중 인덱스 이름변경
- 인덱스 변경할 명
- level=1 이름을 바꿀 열의 레벨
df.columns.set_levels(['b1','c1','d1'],level=1,inplace=True)
3. csv에서 많은 변수의 이름을 불러올때
- CSV 파일이 밑의 표형식일 경우,
A | B |
---|---|
데이터1 | 데이터1설명 |
데이터2 | 데이터2설명 |
#딕셔너리 만들어서 불러오기
codedict = {}
for i in range(len(codename)):
codedict[codename[['A', 'B']].iloc[i][0]] = codename[['A', 'B']].iloc[i][1]
- 특정 단어나 기호 등을 대체하고 싶다면,
for key, value in codedict.items(): if '/' in value: codedict[key] = value.replace('/', '_')
- 영어로 된 변수명을 codedict를 이용해서 한글 변수명으로 바꾸는 법
target = '변수명' codedict.get(target)
- 함수생성할때 이름도 가져오고 싶다면
def percentile(n): def percentile_(x): return np.percentile(x, 25 * n) if n == 2: percentile_.__name__ = '중앙값' else: percentile_.__name__ = '%s분위수' % n return percentile_
4. 파일 불러올때
1) 해당 폴더에서 여러 파일 불러올때
file_list = os.listdir('D:\\~~') #또는 os.listdir('./')
folder_dict = sorted([x for x in file_list if 조건 ])
folder_dict
2) 여러 폴더에서 지정하여 파일 부르고 싶을때
data_dir = 'D:\\~~'
file_list = os.listdir(data_dir)
file_list = [x for x in file_list if not x.endswith('.txt')]
folder_dict = {x:[] for x in file_list} # 폴더 이름 사전
'''딕셔너리형태로 폴더명:[csv파일,...]'''
folder_list = {x : sorted(os.listdir(data_dir + '/{}'.format(x))) for x in folder_dict.keys()}
'''혹시 폴더안에 csv파일 외에 다른게 있다면'''
folder_list = {x : [t for t in y if t.endswith('csv')] for x, y in folder_list.items()}
folder_list.keys() #원하는 시각화 폴더 파일
type='폴더 파일 입력'
file_list= [x for x in folder_list[type]]
5. 간편한 스킬
1) 딕셔너리를 이용하자!
sample={'A':['apple', 'ant', 'app'],
'B':['blue','busy','board']}
sample.get(some)
6. union 사용
많은 변수를 이용할 때, 모든 변수를 사용하기위해 사용하는 함수
all_predictors = set()
for x in index_variables.values(): #index_variables: 딕셔너리에서 VALUE가 리스트인 형태!!
all_predictors = all_predictors.union(set(x))
all_predictors = sorted(all_predictors)
all_predictors
댓글남기기