전체 글

4학년이 되고 취업 준비를 위해 2023-01-01부터 공부한 내용을 정리한 블로그입니다.
파이썬/Pandas

5.Pandas 추가 메서드 - 2

DataFrame fillna() 메서드 fillna() 메서드는 NaN값을 원하는 값으로 바꿀 수 있다. 첫 인자로 변경하고자 하는 값을 전달하면 된다. value값으로 column label을 key로 갖는 딕셔너리를 전달하여 column마다 NaN을 대치하는 값을 각각 설정가능. limit 키워드 인자에 숫자를 전달하여 그 숫자만큼 column마다 변경 횟수를 제한할 수 있다. DataFrame을 value로 전달해서 NaN값을 대체할 수 있습니다. 다만 column label과 row index가 일치하지 않으면 적용되지 않는다. # np.nan 으로 NaN값 만들 수 있음. df = pd.DataFrame([[np.nan,2,np.nan,0], [3,4,np.nan,1], [np.nan,np.n..

파이썬/Pandas

4.Pandas 추가 메서드 - 1

Series 데이터 개수 세기 count() 메서드 = 개수를 세주는데~ NaN 값은 세지 않는다. 누락된 부분(NaN)을 찾을 때 유용하다. DataFrame에 count()메서드를 사용하면 각 열마다 데이터 개수를 세고, Series로 반환한다. s = pd.Series(range(10)) s[3] = np.nan print('count : ',s.count(),'\\nlen : ',len(s),end ='\\n\\n') # len은 길이만. s 데이터 시각화 수업에 배울 seaborn 패키지에 titanic호의 승객 데이터도 있다. 아래 예제처럼 DataFrame으로 읽어올 수 있다. import seaborn as sns titanic = sns.load_dataset('titanic') tita..

파이썬/Pandas

3.Pandas - DataFrame - 2

DataFrame 고급 인덱싱 Pandas에서 2차원 인덱싱을 지원을 하기 위한 추가적인 인덱서 속성 loc = label 값 기반의 2차원 인덱싱 중 row에 대한 Series 추출에 사용 row인덱싱 값은 정수 또는 row index 데이터이고, column 인덱싱 값은 label 문자열이다. loc인덱서의 인덱싱 값은 다음 중 하나이다. index 데이터 index 데이터 슬라이스 index 데이터 리스트 같은 row인덱스를 가지는 boolean Series 또는 위의 값들을 반환하는 함수 loc 인덱서는 column에 대한 label 인덱싱이나 label 리스트 인 덱시은 불가능하다 iloc = 순서를 나타내는 정수 기반의 2차원 인덱싱. column label 인덱싱이나 슬라이싱으로 사용할 경우..

파이썬/Pandas

2.Pandas - DataFrame - 1

DataFrame 2차원 array에 index값을 붙인 형태와 비슷하다. 행 index 뿐만 아니라 열 index도 따로 지정이 가능하다. 데이터프레임은 전치(transpose)를 포함하여 2차원 array가 가지는 대부분의 속성이나 메서드를 지원한다. 산술연산은 row와 column 모두 적용된다. series 객체를 갖는 dictionary라고 이해해도 된다. DataFame 생성 하나의 열이 되는 데이터를 리스트나 일차원 배열을 준비한다. 각각의 열에 대한 이름(label)을 키로 가지는 dictionary를 만든다 이 데이터를 DataFrame 클래스 생성자에 넣는다. 동시에 열 방향 index는 columns 인수로 행방향 index는 index인수로 지정한다. data = { "빨강": ['..

파이썬/Pandas

1. Pandas Series

Pandas = Panel Datas = Series나 table 형태로 데이터를 나타낼 수 있다. 이러한 데이터를 다루기 위한 클래스를 제공하는 패키지 Series class = NumPy에서 제공하는 1차원 배열과 그 모양이 비슷하다. 하지만 배열과 다르게 index를 추가하여 index와 value를 가지는 배열을 말한다. Series 객체 생성시 첫 인수로 data, 두 번째 인수로 idnex를 넣는다. data값으로 iterable,배열,scalar value, dict(key와 index를 동일하게 사용하거나 생략)를 사용할 수 있다. index는 data와 length가 동일해야한다. label 이 꼭 유일(unique)할 필요는 없다. index는 hashable 한 type만 올 수 있다..

빅데이터 관리/리눅스

리눅스 기초

특징 공개 소프트웨어이며 무료로 사용할 수 있음 유닉스와의 완벽한 호환성을 유지 서버용 운영체제로 많이 사용 편리한 GUI 환경을 제공 구조 커널 리눅스의 핵심 프로세스/메모리/파일시스템/장치관리 컴퓨터의 모든 자원 초기화 및 제어 기능 셀 사용자 인터페이스 명령해석 프로그래밍기능 배시 셸을 기본으로 사용 응용 프로그램 각종 프로그래밍 개발 도구 문서 편집 도구 네트워크 관련 도구 등 리눅스 명령 사용법 노란색 동그라미 쳐진 검색 버튼을 클릭해서 terminal검색 명령어들은 사실 각 기능별로 c로 짜여진 함수 같은 개념이라 생각하면 된다, 리눅스 명령어는 쉘 기반이기 때문에 terminal에서 입력해주어야 한다. pwd : 현재 위치 상위 디렉터리로 이동하기 : cd.. 디렉터리 내 폴더, 파일 보기 ..

빅데이터 관리/리눅스

윈도우 리눅스 설치

빅데이터 처리를 위해서 하둡이나 pig 등등 우리가 필요로 하는 환경이 4개이다. 이를 해결하기 위해 완전 분산으로 4개의 리눅스 환경을 준비하는 방법이 있는데, 너무 오랜 시간이 걸리기 때문에 연습용으로는 추천하지 않는다.(실제로는 이걸 사용) 의사 분산 모드는 물리적으로는 한대이지만 마치 여러 대인 것처럼 만드는 방법으로 연습용으로 사용하기 적절하다. 의사 분산 모드로 환경을 만들기 위해서 위 이미지 파일을 기준으로 실습을 진행하는 글을 정리하겠습니다. 관련 파일을 저도 받은 자료다 보니 공유할 수 없는 글임을 미리 알립니다. 윈도우 리눅스 설치 VirtualBox 설치 경로 : www.virtualbox.org/ 다운로드하여준 후 exe 파일을 실행시켜 기본설정대로 next를 눌러 설치한다. 정상 ..

Back/Django

6. 로그인 로그아웃 구현하기

6. 로그인 로그아웃 구현하기 직접 db로 구현할 수 있지만 복잡하다 장고에서 제공하는 라이브러리를 사용하면 쉽게 구현이 가능하다. 로그인, 로그아웃은 큰 범위이기 때문에 pybo에서 이어서 만들지 않고, 새로운 앱으로 만들어 준다. 터미널 창에 아래 명령어를 입력해 아래와 같은 디렉터리를 만들어 준다. cd mysite django-admin startapp common 세팅 설정 common 디렉토리를 앱으로써 인식하도록 config/settings.py에 추가해 준다. 마찬가지로 common과 연결된 url을 연결해 주기 위해서 config/urls.py에 추가해 준다 common 디렉터리에 url.py가 없기 때문에 만들고 아래 코드를 넣어준다. 로그인 페이지 링크 연결 로그인 버튼을 눌렀을 때 ..

Back/Django

5. 템플릿 필터 직접 만들어 보기 + 질문에 답변 개수 표시하기

이전 결과 사진을 보면 모든 값들이 다 1~10 사이로 보이는 것을 볼 수 있음. 게시글이 페이지마다 시작 인덱스가 1, 11, 21..처럼 페이지에 맞는 번호를 갖도록 하고자 함. 규칙 현재번호 = 전체건수 - 시작인덱스 - 현재 인덱스 +1 add 뒤에 오는 변수는 - 를 붙이지 못한다 그래서 규칙을 구현하는 데 있어서 아래와 같은 코드가 불가능하다. {{ question_list.paginator.count|add:-question_list.start_index|add:-forloop.counter0|add:1 }} 장고에서 add는 있는데 sub는 없어서 직접 만들어야 한다. sub를 만들어 준 후에 아래와 같은 코드로 적용해야 한다. {{ question_list.paginator.count|s..

Back/Django

4. 게시판 페이징 기능 추가하기

게시판 페이징 기능의 필요성 게시판의 글 개수가 많아질 경우 필요함 한 페이지에 10개만 보여주는 형식으로 만듬 데이터 불리기 터미널에서 cd mysite manage.py shell 로 터미널 실행 그 후 아래 코드 입력 from pybo.models import Question from django.utils import timezone for i in range(300): q = Question(subject = "질문글 [%03d]의 제목 입니다" % i, content = "내용은 생략" , create_date = timezone.now()) q.save() views.py의 index함수 수정 from django.core.paginator import Paginator def index(r..

잘잔디
MBCS 공부일지