목록전체 글 (182)
취미가 좋다

열 생성, 수정하기 새로운 열의 인덱스를 선언하고 값을 넣어주면 모든 행에 같은 열 값이 들어간다. 위처럼 모두 같은 값을 넣지 않고 조건문을 통해 원하는 값을 넣을 수도 있다. np.where은 앞의 조건이 True일 때 2번 째 인자를 반환하고, False일 때 3번 째 인자를 반환한다. 연산을 통해서 열에 값을 넣을 수 있다. 같은 길이의 리스트로 새로운 열을 추가할 수 있다. 길이가 다르면 에러가 발생한다. apply 로 함수를 활용하여 열 값을 수정할 수 있다. 행 생성하기 기존 데이터프레임에 append를 통해 다른 데이터프레임을 붙일 수 있다. pd.DataFrame으로 새로운 데이터프레임을 생성한다. ignore_index를 통해 기존의 0 인덱스를 무시하고 새로 추가되면서 새로운 인덱스를..

이번 글에서는 전송 계층에 대해 배워보자. 이전 네트워크 계층까지의 기능만으로 데이터를 전송할 때 생기는 문제가 있다. 1~3 계층까지는 데이터 전송 중에 손상되거나 유실되어도 아무 역할도 하지 않는다. 전송 계층 전송 계층은 목적지까지 신뢰할 수 있는 데이터를 전달하기 위해 존재한다. 전송 계층에는 크게 2가지 기능이 있다. 첫 번째는, 오류를 점검하는 기능으로 오류 발생시 재전송을 요청하여 데이터를 정확히 전달한다. 두 번째는, 전송된 데이터의 목적지가 어떤 어플리케이션인지 식별하는 기능이다. 예를 들어, 웹 브라우저와 메일 프로그램 중 목적 애플리케이선에서 필요한 데이터인지 판단한다. 전송 계층에는 크게 2가지 통신 방법이 있다. 연결형 통신 신뢰할 수 있고 정확한 데이터를 목적지에 문제 없이 전달..

OSI 모델의 3계층인 네트워크 계층에 대해 알아보자. 네트워크 계층은 서로 다른 네트워크에 있는 목적지로 데이터를 전송하는 기능을 수행한다. 이전의 데이터 링크 계층은 같은 네트워크 즉, 같은 랜 내에서 이더넷 규칙으로 데이터를 전송한다. 그러나 인터넷이나 다른 네트워크로는 데이터를 전송할 수 없다. 라우터(router) 라우터는 네트워크 간의 통신을 통해 다른 네트워크로 데이터를 전송하는 네트워크 장비이다. - IP 주소로 목적지를 지정한다. - 목적지까지 데이터를 보낼 경로를 지정한다. 이를 라우팅(routing)이라고 한다. 랜에서는 MAC 주소만으로 통신할 수 있지만, 네트워크를 식별을 위해서는 IP 주소가 필요하다. IP 주소는 어떤 네트워크의 컴퓨터인지 구분할 수 있는 주소이다. 라우터에는 ..
https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net Solution import sys input = sys.stdin.readline from collections import deque def melt(): num = 0 while(ready): i, j = ready.pop() cheese[i][j] = 0 num += 1 return num def chk(): while(q): i, j = q.pop() if cheese[i][j] == 1: ready.app..

인덱스로 행과 열을 선택하기 리스트처럼 인덱스 슬라이싱으로 데이터를 뽑을 수 있다. 반환만 하므로 변경까지 원한다면 df = df[1:3] 을 해야한다. df[1:3] 원하는 데이터의 인덱스를 직접 입력할 수도 있다. df.loc[[0,2]] 열에 조건을 주어 행을 필터링하기 대괄호 [ ] 안에 조건을 넣거나, query 함수의 인자로 조건을 넣을 수 있다. 둘 다 같은 결과를 가져온다. df[df.age > 25] df.query('age > 25') 여러 조건을 추가할 수도 있다. df[ (df.age>25) & (df.name=='Nate') ] 행에 조건을 주어 열을 필터링하기 인덱스를 이용해서 열을 필터링할 수 있다. iloc 의 첫 인자는 행을 의미하고 두 번째 인자는 열을 의미한다. 그래서 ..

데이터 프레임을 파일로 저장하기 위와 같은 데이터 프레임을 파일로 저장해보자. df.to_csv('temp.csv', index=True, header=True) jupyter lab이 있는 위치에 csv파일이 생성된다. index와 header는 True를 default 값으로 가지고 있다. index를 False로 설정하면 각 데이터들이 있는 row가 저장되지 않는다. header를 False로 설정하면 각 데이터들의 헤더들이 저장되지 않는다. None 값을 치환해서 채우기 위와 같이 None, NaN과 같은 빈 값이 있을 때, 원하는 값으로 대체하여 저장할 수 있다. df.to_csv('friend_list_from_df.csv', na_rep = '-') https://youtu.be/ffjpgv..