본문 바로가기

self.python26

[python] 데이터 프레임 열 순서 변경하는 방법 데이터 프레임(DataFrame) 열 순서 변경하는 방법 데이터 프레임에서 열 끼리의 연산을 해서 새로운 열을 만들어 냈는데 그 경우 열이 맨 끝에 추가되서 보기가 어렵다거나 그냥 열 순서가 엉망인 경우... 열 순서를 바꾸고 싶은 경우가 있다. 열 순서를 변경하는 방법은 간단하다. '이름', '성별', '나이' 라는 세 개의 열을 가진 df 라는 데이터프레임이 있을 때 df = df[['성별', '나이', '이름']] 이렇게 원하는 순서대로 열 이름을 리스트로 넣어주면 된다. 모든 열의 이름을 넣어야 한다. 만약 ['성별', '이름'] 이렇게 넣게 되면 '나이' 열은 없어지게 된다. 열을 삭제하고 싶었다면 그렇게 해도 된다. 예시) import numpy as np import pandas as pd .. 2022. 5. 17.
[python] 재귀호출로 최대공약수 구하기 - 유클리드 호제법 이용 재귀호출로 최대공약수 구하기 - 유클리드 호제법 이용 유클리드 호제법은 최대공약수를 구하는 알고리즘 중의 하나이다. * 최대공약수 GCD, greatest common divisor 위키백과 참고 https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95 유클리드 호제법을 간단히 설명하자면 gcd(x, y) 라는 함수는 x와 y의 최대공약수를 구하는 함수라고 하자. 그러면 gcd(x, y) = gcd(y, x % y) 가 성립하게 된다는 알고리즘이다. 예를 들어 36, 20 두 숫자의 최대공약수를 구한다고 하자. gcd(36, 20) = gcd(20, 16) = gcd(16, 4) 여기서 16은.. 2022. 5. 16.
[python] DataFrame의 결측치를 시각화 해서 확인하기 - missingno 사용 DataFrame의 결측치를 시각화 해서 확인하기 - missingno 사용 데이터를 불러왔을 때 결측 값의 유무를 isnull( ) 또는 isna( ) 함수를 사용하여 확인할 수 있지만 missingno.matrix( ) 를 사용하여 시각화하여 확인할 수 도 있다. 그러려면 우선 missingno 라는 라이브러리가 설치되어 있어야 한다. 예시를 위해 seaborn 에서 기본적으로 제공하는 데이터셋 중 하나인 titanic 데이터를 불러 오겠다. 1. 필요한 라이브러리 import import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 데이터 분석에 있어서 기본적인 라이브러리 import 1.. 2022. 5. 13.
[python] DataFrame 의 결측값, 중복값 확인하고 제거하기 DataFrame 의 결측값, 중복값 확인하고 제거하기 데이터 프레임 내의 데이터들은 결측치(값이 없는 칸) 또는 중복값(모든 열의 값이 동일한 row 들)이 있을 수 있다. 데이터 분석을 하기 전에 이 값들을 제거하고 시작하는 것이 용량을 줄이기에도 좋고, 이상한 결과가 나오지 않게 하는 데에도 좋다. import numpy as np import numpy as pd import matplotlib.pyplot as plt import seaborn as sns # 데이터 분석하는데 import 하고 시작하는 것들. # 이번 글에서는 필요없는 부분도 있지만 보통 데이터 분석할 때 다 쓰인다. 1. 결측치 확인하기 결측치는 .isna( ) 또는 .isnull( ) 함수로 쉽게 확인할 수 있다. df1... 2022. 5. 12.
[python] 정규표현식(Regular Expressions)과 메타문자 정리 정규표현식(Regular Expressions) 특정 규칙을 가진 문자열을 표현하는 방식이다. '이름 : XXX, 나이 : 99, 국적 : 한국, 010-1234-1234, 123456-1234567, 취미 : python' 예를 들어 위와 같은 주민등록번호가 포함된 긴 문자열을 입력 받았을 때, 주민등록번호만 뽑아내고 싶다면 ? 숫자 6개로 시작해서 중간에 '-' 부호가 들어가고 숫자 7개가 연이어 나와 있는 부분을 가져오면 된다. 전화번호가 포함된 긴 문자열을 입력 받았을 때, 전화번호만 뽑아내고 싶다면? 010 으로 시작해서 숫자 4개씩 '-' 부호를 사이에 끼고 있는 부분을 가져오면 된다. 그런 것들을 정규표현식을 사용하여 해결할 수 있다. re 라이브러리를 import 해주어야 하고, re.fi.. 2022. 5. 12.
[python] seaborn 기본 제공 데이터셋 불러오기, heatmap 그리기 seaborn 그래프 그리기 그래프를 그리기 위해 필요한 라이브러리를 먼저 import 한다. import matplotlib.pyplot as plt import seaborn as sns 예시로 사용할 데이터는 seaborn 내에서 제공하는 데이터셋을 사용해보겠다. seaborn에서 자체적으로 'flights', 'iris', 'taxis' 등 여러가지를 제공하고 있다. 파일을 따로 불러오지 않아도 seaborn 에서 제공해주기 때문에 사용할 수 있는 데이터셋이다. sns.get_dataset_names() 를 사용하여 어떤 데이터셋을 제공하고 있는지 확인해볼 수 있다. sns.get_dataset_names() ''' ['anagrams', 'anscombe', 'attention', 'brain_.. 2022. 5. 11.
[Numpy] Numpy 기초 - 기본적인 배열 다루기 Numpy : Numeric + Python 의 약자로 수학 및 과학 연산 라이브러리 Numpy는 배열이나 행렬 계산에 필요한 함수를 제공해 준다. 비정형 데이터 처리나 자연어 처리에 배열(Array)이 사용되는데 그 때 필수적인 라이브러리이다. import numpy as np #Numpy 사용하기 위해 import 하기 # 일반적으로 np 로 사용 1. 리스트 데이터를 배열로 만들기 np.array() 를 사용하여 리스트 데이터를 1차원 배열로 만들 수 있다. dataList = [1, 2, 3, 4, 5, 6, 7] dataArr = np.array(dataList) dataArr #array([0, 1, 2, 3, 4, 5]) - 배열의 데이터 타입 확인해보기 배열.dtype 으로 배열 내의 데이.. 2022. 5. 10.
[파이썬] 제일 큰 자리수 구하기 - 문자열 인덱싱 파이썬으로 제일 큰 자릿수 구하기 사용자로부터 숫자를 하나 입력 받고 그 숫자의 제일 큰 자릿수 구하는 것은 간단하게 쓸 수 있다. 예를 들어, 309 라는 숫자를 입력받으면 3을 출력하고 210 라는 숫자를 입력받으면 2를 출력하고 10298392849 라는 숫자를 입력받으면 1을 출력하는 것이다. num = input() fst = int(num[0]) print(fst) # 210 을 입력하면 2 가 출력이 됨 먼저 숫자를 입력 받기 위해 input() 함수를 사용한다. 보통 input()을 사용하면 str 타입으로 입력을 받아와서 숫자를 받아오는 경우 int(input()) 을 해주지만 맨 앞자리 숫자를 가져오려면 str 타입인 것이 편해서 input() 으로 입력을 받았다. 문자열의 경우 인덱스.. 2022. 5. 9.
반응형