Python 244

[Python] string 모듈을 이용한 임의의 패스워드 만들기

from random import choice from string import punctuation from string import ascii_letters from string import digits password_digit = ''.join(choice(digits) for i in range(3)) # 임의 수만큼 숫자 생성 password_alpha = ''.join(choice(ascii_letters) for i in range(3)) # 임의 수만큼 영대소문자 생성 password_symbols = ''.join(choice(punctuation) for i in range(2)) # 임의 수만큼 특수문자 생성 print(password_digit+password_alpha+passw..

[Python] pandas와 pymssql을 이용하여 MSSQL 연동

데이터 분석을 위해 CentOS 7(Linux)에서 MSSQL DB로 데이터를 gathering 1. pymssql은 pip install pymssql로 설치 2. pymssql로 DB에 접근하여, 쿼리 결과의 ROW를 Pandas의 DataFrame로 읽는다. import pymssql import pandas as pd conn = pymssql.connect(host=' ', user=' ', password=' ', database=' ') querys= ''' SELECT 'PANDAS PYMSSQL TEST' ''' data = pd.read_sql(sql=querys, con=conn) conn.close() print(data) =================================..

[Python] Python Dictionary의 clear 메소드와 { } 차이

딕셔너리의 clear 메소드와 { }는 객체를 초기화 한다는 것은 동일하지만, 재사용에서 활용이 다를 수 있다. dic = {'a':1} dic2 = dic print(dic) print(dic2) {'a': 1} {'a': 1} dic 객체를 { }로 클리어 했을 때, dic = {} print(dic) print(dic2) {} {'a': 1} dic = { } 는 빈 딕셔너리 객체를 새로 생성하고, dic2는 기존 객체를 유지한다. dic 객체를 clear() 메소드로 클리어 했을 때, dic.clear() print(dic) print(dic2) {} {} 하지만 clear는 참조되어 있는 모든 객체를 삭제한다. dic2.clear() print(dic) print(dic2) {} {} dic2를..

[Python] padnas Dataframe 에서 astype을 이용하여 숫자형으로 변환할 수 없을 때 to_numeric을 이용

astype을 이용하여 문자열을 숫자형으로 형 변환할 때, 사용하지만 일부 변환할 수 없는 데이터가 있을 때는, ValueError 에러를 발생시킨다. 이럴경우, to_numeric을 이용하여, 변환할 수 없는 데이터를 NaN 처리하고, 변환 시킬 수 있다. 아래와 같이 price에 1500a라는 값이 있다. Dataframe을 만들 때, object 타입으로 만들어 지며, 이 데이터 때문에 astype을 이용하여 숫자형을 변경할 수 없다. import pandas as pd df = pd.DataFrame([['milk',1000],['icecream',500],['bread','1500a']], columns=['food','price']) df df.dtypes df['price'] = df['pr..

[Python] matplotlib - 그래프에 값 표시 하기

그래프에 값을 표시 하기 위해서는 matplotlib.pyplot.text 를 사용하면 되며, x축과 y축의 좌표에 값을 텍스트로 표시하는 것이다. x = [1,2,3,4,5] y = [100,200,300,400,500] import matplotlib.pyplot as plt plt.bar(x,y) for i, v in enumerate(x): plt.text(v, y[i], y[i], # 좌표 (x축 = v, y축 = y[0]..y[1], 표시 = y[0]..y[1]) fontsize = 9, color='blue', horizontalalignment='center', # horizontalalignment (left, center, right) verticalalignment='bottom') ..