목록코딩/Python (9)
밤하늘공작소
python은 데이터 분석을 위해 만들어진 언어가 아니었기 때문에 그러한 기술이 많이 준비되어있지 않았습니다. pandas는 이러한 python의 단점을 보안하기 위해 만들어졌고, 데이트 더 편하게 저장하고, 정리하고, 시각화할 수 있게 합니다. pandas는 DataFrame이라는 것을 사용할 수 있게 합니다. 1. pandas DataFrame pandas에서 사용하는 DataFrame은 표형식입니다. 예를 들면 엑셀이나 구글 스프레드 시트(Google Sheets)와 같은 것을 생각하면 됩니다. 여기서 가로의 줄들은 열(column), 세로의 줄들은 행(row)라고 부릅니다. 예를 들어서 밑에 그림과 같은 축구 선수들을 담은 DataFrame이 있다면 name, age, height 등과 같이 데이..
numpy란 뉴머리컬 파이썬(numerical python)의 줄임말로 숫자와 관련한 계산 작업을 편하게 해 줄 도구입니다. python은 원래 숫자 계산을 하기 위해 만들어지지 않았고, 그런 것을 하기 위해 더 많은 코드를 써야 했었습니다. 그래서 numpy가 python으로 숫자 계산을 할 때 적은 코드로 효율적이게 실행시키기 위해 만들어졌습니다. numpy는 numpy 배열이라는 것을 제공해서 2차원 배열이나 많은 수학적 계산을 해야 할 때 유용하게 쓰입니다. numpy에는 리스트를 만들 수 있는 방법이 여러 가지 있습니다. 기존에 python 배열을 이용해 만들 수도 있고, 똑같은 숫자로 값을 채울 수도 있습니다. 또 이어지는 숫자나 랜덤한 숫자로 채울 수도 있습니다. 1. python 리스트 이..
numpy란 뉴머리컬 파이썬(numerical python)의 줄임말로 숫자와 관련한 계산 작업을 편하게 해 줄 도구입니다. python은 원래 숫자 계산을 하기 위해 만들어지지 않았고, 그런 것을 하기 위해 더 많은 코드를 써야 했었습니다. 그래서 numpy가 python으로 숫자 계산을 할 때 적은 코드로 효율적이게 실행시키기 위해 만들어졌습니다. numpy는 numpy 배열이라는 것을 제공해서 2차원 배열이나 많은 수학적 계산을 해야 할 때 유용하게 쓰입니다. 그렇다면 이것이 일반 python 리스트와 무엇이 다를까요? 사실 이 두개는 여러 값을 리스트로 보관하기 때문에 같은 점이 많습니다. 하지만, 다른 점이 있습니다. 1. 선언 방식 우선 선언을 할 때의 차이가 있습니다. numpy 리스트는 자..
python에서 문자를 잘라야 할 때가 있습니다. 이런 것은 "split"으로 할 수 있습니다. 우선 이러한 코드를 적어보겠습니다. name = "Kim, Dong Hyun" print(name.split(",")) 이것은 ['Kim', ' Dong Hyun'] 이 출력됩니다. 문자열이 ", "를 기준으로 잘려서 배열에 나오게 됩니다. 그래서 만약 이 뒤에 첫번째 값을 출력하게 하는 코드를 바꾸게 된다면, 성만을 출력하게 할 수 있습니다. 이를 좀더 활용해서 배열로 오는 모든 이름들의 성을 출력해보겠습니다. names = ["Kim, Dong Hyun", "Lee, Hyun Woo"] for name in names: print(name.split(",")[0]) 간단한 for in 문을 사용해서 ","..
python에서는 리스트를 많이 활용합니다. 하나의 값이 아닌 여러 가지의 값을 변수에 넣고 싶을 때 사용합니다. 이러한 리스트를 활용할 때 사용할 수 있는 팁을 드리겠습니다. 1. 리스트 값 존재 여부 확인 실제로 우리가 알아서 리스트 안에 값이 있는지 확인하는 코드를 만드는 것은 힘듭니다. for 또는 while 문을 이용해 리스트의 길이만큼 반복하는 반복문을 만들고, 그곳에서 찾고 있는 값이 있다면, True를 없다면 False를 리턴하게 해야 합니다. 물론 함수로 저장해놓으면, 계속 사용할 수 있지만, 그렇게 할 필요가 없습니다. python에서는 "in"이라는 것이 있습니다. 이러한 코드를 적어보겠습니다. numbers = [1, 3, 5, 7, 9] print(3 in numbers) prin..
python에서는 포맷팅이라는 것을 제공해줍니다. 한 번 예를 들어보겠습니다. year = 2022 month = 6 day = 28 print("오늘은 " + str(year) + "년 " + str(month) + "월 " + str(day) + "일이다.") 이러한 코드가 있습니다. 여기에서 year와 month, day는 숫자형이기 때문에 그냥 문자에 더하면 에러가 납니다. 그렇기 때문에 문자형으로 변환한 후에 더해주어야 합니다. 그런데 더해주게 되어도, 띄어쓰기를 신경을 써야 되기 때문에 힘들고, 코드가 더러워질 수 있습니다. 그럴 때 포맷팅을 사용하는 것입니다. 위와 똑같은 코드를 적어보겠습니다. year = 2022 month = 6 day = 28 print("오늘은 {}년 {}월 {}일이..
python에서는 형 변환을 해야 할 상황이 생깁니다. 예를 들면 넘어온 값으로 숫자가 문자형으로 오는 경우 그것으로 숫자 연산(+ - * /)을 할 수 없고, for 등에서 사용할 수 없습니다. 문자를 숫자형으로 바꾸는 방법은 문자를 int()로 감싸는 것입니다. first = "1"second = int("2")print(type(first))print(type(second))이 코드를 실행하면 과 가 차례대로 나올 것입니다. first라는 변수에는 그냥 문자 1을 저장하고, second에는 숫자형으로 변경된 문자 2를 저장했습니다. 그래서 서로의 형이 다른 것입니다. 주의할 점은 이 코드와 같이 논리적으로 말이 되지 않는 것을 숫자로 변경하려고 하면 Value Error가 난다는 것입니다.fi..
python에서 사용자의 입력을 받기 위해서는 "input"이라는 python 함수를 쓰게 됩니다. input에 파라미터로 문자열을 넣을 수 있습니다. input("나이를 입력하시오 : ") 이러한 식으로 코드를 적고 실행하게 된다면, 이렇게 나오게 됩니다. 이렇게 사용자의 입력을 받을 수 있습니다. 우선 우리가 파라미터로 넘겨준 문자열이 출력되고 멈춥니다.(입력을 기다리는 것이니다.) 여기에서 어떤 것을 치고, 엔터를 치면 프로그램이 끝나게 됩니다. 그냥 끝나게 되는 이유는 우리가 사용자의 입력을 받은 후 그 입력으로 아무것도 하지 않았기 때문입니다. 이제 코드를 이렇게 바꾸어 보겠습니다. 이제 입력을 받고 그것을 age에 저장하고, age와 age의 type를 출력하게 됩니다. age = input(..