본문 바로가기

Development/Python33

[Python] Pandas DataFrame 혹은 Series에서 문자열 조건 결과 얻기(str.contains) 방법 .str.contains('A|B') .str.contains('A|B') 예시 >>> series = pd.Series(['cat','hat','dog','fog','pet']) >>> searchfor = ['og', 'at'] >>> series[series.str.contains('|'.join(searchfor))] >>> series[series.str.contains('og|at')] 0 cat 1 hat 2 dog 3 fog dtype: object 출처 : https://stackoverflow.com/questions/26577516/how-to-test-if-a-string-contains-one-of-the-substrings-in-a-list-in-pandas How to t.. 2022. 2. 9.
[Python] 특정 디렉토리 복사 붙여넣기 (Copy & Paste) 방법 shutil.copytree(target_path, destination_path) 예시 import shutil target_path = '/saranghaeyo/yeonyegajungye' destination_path = '/saranghaeyo/komawaryo' shutil.copytree(target_path, destination_path) # 붙여넣기 하고자 하는 디렉토리가 이미 존재하는 경우 (Python 3.8 이상부터 가능) shutil.copytree(target_path, destination_path, dirs_exist_ok=True) 출처 : https://stackoverflow.com/questions/1868714/how-do-i-copy-an-entire-dire.. 2022. 2. 9.
[Python] Dictionary의 Value를 얻을 때, 존재하지 않는 Key는 넘어가야 하는 경우(KeyError 해결) Dictionary를 사용해서 Value를 얻고자 할 때, Dictionary에 존재하지 않는 Key를 입력하면 KeyError가 발생한다. 이 때, Default Value를 지정해 줘서 Key가 존재하는 것에 대해서만 Value를 얻고 넘어갈 수 있는 방법을 소개한다. 방법 dictionary.get(key, 'Default Value') 예시 In [79]: example_dict = { 'A' : '-ETF' , 'B' : '-FUND' , 'C' : '-STOCK' } In [1]: example_dict.get('A', 'if not') Out[1]: '-ETF' In [2]: example_dict.get('D', 'if not') Out[2]: 'if not' Default Value를 조.. 2022. 2. 9.
[Python] ' is None ' 과 ' == None ' 의 차이점 (충격) 이 둘이 다르다. 이 사실을 알게 된 계기는 어처구니 없는 실수로 인한 오류의 발견이었다! (== None으로 사용할 것을 !=None으로 사용하는 바람에;;;) 여튼 None과 비교를 하게 된 것은 새로생성한 함수의 기본파라미터에 대해서 None으로 지정해 주고, 파라미터가 입력이 되지 않았으면 그대로 실행하려던 것이 계기가 되었다. 사실 내용을 적다보니 비교를 하고자 하는 연산자 자체가 중요한 것이지 비교의 대상이 되는 None은 그다지 중요한게 아니었다. 간략하게 먼저 결론!!! '==' 으로 비교하는 경우는 객체의 요소와 비교. In [42]: # 724는 필자의 생일. Thank you ;) np.array([0.724, 0.724, 0.724]) == None Out[42]: arra.. 2022. 1. 28.
[Python] 리스트의 첫 번째 순서로 Append 하는 방법 Python을 다루다 보면 리스트에 append를 하는 경우가 많은데, 항상 마지막 순서에 들어가는 것을 보고 첫 번째 순서에도 넣고 싶다는 생각을 해서 찾아 봤다. 방법 # 방법 # 순서 index는 리스트의 길이만 넘지 않으면 상관없다. 응용해서 2,3번째에도 insert가능 list.insert(순서index, append대상) var = 7 ex_list = [1,2,3,4,5,6] ex_list.insert(0,var) Out[25]: [7, 1, 2, 3, 4, 5, 6] 2022. 1. 20.
[Python] Dataframe 2개의 컬럼을 활용하여 Dictionary 생성 1. 예제 DataFrame df = pd.DataFrame({'col_A':['a','b','c','d'] ,'col_B':[0,1,2,3]}) Out[41]: col_A col_B 0 a 0 1 b 1 2 c 2 3 d 3 2. 방법 # dict(zip(df.col_A, df.col_B)) target_dict = dict(zip(df.col_A, df.col_B)) 3. 다른 방법과 속도 비교 In [6]: df = pd.DataFrame(randint(0,10,10000).reshape(5000,2),columns=list('AB')) In [7]: %timeit dict(zip(df.A, df.B)) 10.9 ms ± 330 µs per loop (mean ± std. dev. of 7 runs.. 2022. 1. 4.
[Python] Jupyter Notebook 스크립트 브라우저 창에 맞추기 (사이즈 조절) from IPython.core.display import display, HTML display(HTML("")) 2021. 12. 15.
[Python] Array를 Bar Plot으로 print 하기 In [1]: import numpy as np # dirichlet 분포를 이용해 random하면서도 합이 1인 분포를 생성 rand_distribution = np.random.dirichlet(np.ones(10),size=None) rand_distribution Out[1]: array([0.06777101, 0.13312022, 0.00483812, 0.18864496, 0.08399787, 0.14003386, 0.26656006, 0.06041501, 0.01597788, 0.038641 ]) In [2]: xxx = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] In [3]: # bar plot으로 이미 생성해 둔 rand_distributio.. 2021. 12. 15.
[Python] Dictionary Key, Value Swap (딕셔너리 키 밸류 전환) 1. List Comprehension과 같은 방법 dic = { 'a' : 'A' ,'b' : 'B' ,'c' : 'C' } res = dict((v,k) for k,v in dic.items()) 2021. 12. 15.
반응형