Python
-
[converter] docx 파일을 txt로 바꾸기Python 2021. 1. 14. 18:50
Python 프로그램 docx -> txt 사용하기 전 pip을 이용해서 docx2txt을 설치해줘야함 pip install docx2txt{convert.py} import os import docx2txt def docx_to_txt(path, filename): text = docx2txt.process(path + filename).split('\n') # docx 파일의 내용이 text에 담기는데 '\n' 줄바꿈 문자 기준으로 나뉘어 리스트로 만들어 진다. newfile = os.path.splitext(filename)[0] + '.txt' f = open(path + newfile, 'w') # txt 파일 오픈(없으면 생성됨) for..
-
[pandas] group으로 묶기Python 2020. 9. 24. 12:53
Score Group으로 묶어서 특정 과목 점수가 높은 학생 출력하기 import pandas as pd # DataFrame 생성 score = pd.DataFrame({ "Name": ["Jueun", "Jieun", "Terry", "Mits"], "Gender": ["girl", "girl", "boy", "boy"], "Class": [1, 2, 2, 1], "Total": [0, 0, 0, 0], "Eng": [50, 90, 40, 70], "kor": [30, 70, 90, 100] }) # Name을 score의 인덱스로 설정해줌 score = score.set_index(["Name"]) # Total column을 채워줌(kor + Eng = Total) for index in rang..
-
[pandas] : 도수분포표와 히스토그램Python 2020. 9. 23. 13:09
통계용어 알고가기 분포 : 다양한 수치로 나타나는 것 통계 : 분포의 특징이나, 반복을 이끌어내기 위한 방법 축약 : 통계에서 사용하는 방법, 데이터를 어떤 기준으로 정리정돈하여 의미 있는 정보 추출 도수분포표 계급 : 최대값부터 최소값까지 구간을 자르기 좋은 대강의 범위를 만들고, 그 범위 내에서 작은 구간들로 자른다. 그렇게 자른 범위가 계급 계급값 : 각 계급을 대표하는 수치(일반적으로 가장 가운데 값) 도수 : 각 계급의 데이터 개수 상대도수 : 각 도수가 전체에서 차지하는 비율, 각 계급의 상대도수를 모두 합하면 1이 됨 누적도수 : 첫번째 계급부터 해당 계급의 도수를 누적한 값 최종 누적도수 = 데이터의 개수 -도수분포표를 만드는 과정에서 축약이 발생한다. -데이터의 세부적인 사항을 희생시키고..
-
[pandas] 구글 드라이브에서 파일 불러오기Python 2020. 9. 23. 12:25
import pandas as pd from google.colab import drive pandas와 google.colab의 drive를 import 해준다. drive.mount("/gdrive") 드라이브 마운트 %ls /gdrive/My\ Drive/jueun/ai/workspace/02.pandas/data -al ls : 리눅스 명령어 그 뒤에는 경로 복사를 해서 넣어주면 되는데 파일이나 폴더 이름에 띄어쓰기가 있을 경우 띄어쓰기까지 모두 넣어주어야한다. 그냥 띄어쓰기를 넣는게 아니라 특수 문자를 일반 문자로 사용할 수 있도록 하는 역 슬래쉬(\)를 넣어줘야 한다. *윈도우의 경우는 '\' 대신에 '₩' df = pd.read_csv("/gdrive/My Drive/jueun/ai/work..
-
[payment. py] Python으로 만든 더치페이 프로그램Python 2020. 9. 7. 13:38
프로그램이라고 하기엔 너무 간단하지만 만들어보았다. import time pay = [] i = 0; j = 0 t = 0 with open("payment.md") as md: for line in md.readlines(): pay.append(line.split()) if (pay[i][0] == "j"): pay[i][0] = "myself" j += int(pay[i][2])/int(pay[i][3]) else: pay[i][0] = "friend" t += int(pay[i][2])/int(pay[i][3]) menu_len = len(pay[i][1]) blank = 10 - menu_len half_blank = int(blank / 2) pay[i][1] = "|" + (" " * hal..
-
[hello. py] C언어와 Python의 메모리 관리 차이점Python 2020. 9. 3. 15:17
Python은 C언어랑 메모리 사용 방식이 다르다. C언어의 경우 int형 변수 a와 b를 만들고 나서 이 둘의 주소를 찍어보면 서로 다른 주소가 나온다. 같은 값을 할당해도 결과는 마찬가지. [ 30 ] [ 30 ] ⬆︎ ⬆︎ [ a ] [ b ] 그런데 파이썬에서 똑같이 실행하면 같은 주소 값이 나온다. [ 30 ] ⬈ ⬉ [ a ] [ b ] 여기서 a나 b의 값을 바꾸면 바뀌 값이 있는 다른 주소를 b가 가리키게 되고 id(b)의 결과값이 달라진다. 원래 C언어에서의 배열에서는 배열 a의 주소값과 배열 a의[0]번째 요소의 주소값이 같았다. 그런데 파이썬에서는 주소값이 다르다. 그리고 a의 [1]번째 요소와 [3]번째 요소가 값이 '3'으로 같은 것을 볼 수 있는데 이 두 요소의 주소가 '4556..
-
[hello. py] Python3 : numpy 설치하기Python 2020. 8. 28. 17:13
리스트 공부중에 range를 float으로 구성하고 싶어져서 알아보니 arange를 사용하면 된다고 해서 numpy를 설치했다. 설치하고 나서 pip3 install numpy import numpy as np a = list(np.arange(2, 10, 0.5)) print(a[3]) 코드를 실행했는데 이런 오류가 떴다. ImportError: No module named numpy. 이것저것 검색하다가 고쳤는데, pip 뒤에 숫자 3을 붙여주지 않아서 제대로 설치되지 않은 것이다. 나는 python3를 쓰고 있으니까 이렇게 설치를 해주어야한다. pip3 install numpy 아직도 오류가 나오면 귀찮고 번거로운 기분이 들지만 검색하는 법을 좀 알게된 것 같다. 예전보다 금방 방법을 찾는다.