728x90

파이썬 36

[python 파이썬, pandas 판다스] DataFrame 열(column) & 행(row) 불러오기

파이썬의 pandas에서 데이터프레임 형태로 데이터를 불러왔다면 이것을 확인하는 방법을 알아야한다. 데이터는 많은 행과 열로 이루어져 있으며 데이터에 따라 그 개수도 천차만별이다. 이것을 행 기준의 특정 부분, 혹은 열 기준의 특정 부분만 확인하려면 어떻게 해야할까? 예시로 사용할 데이터는 kaggle에서 다운로드받은 IRIS.csv 데이터를 사용하겠다. 먼저 pd.read_csv를 활용하여 데이터를 불러오자. 행(row) 기준 확인/불러오기 맨 앞 & 맨 뒤의 행 확인 : head(), tail() 변수명.head(불러올 행 개수) : 앞에서부터 n개의 행 확인 변수명.tail(불러올 행 개수) : 뒤에서부터 n개의 행 확인 head와 tail 모두 괄호 안이 공백이면 5개의 행만 출력한다. 150개의..

[python 파이썬, pandas 판다스] csv 및 excel 파일 불러오기 (한글 깨지는 경우 해결)

파이썬에서 pandas로 csv나 xlsx 형태의 데이터를 불러올 수 있다. 그 방법은 아래와 같다. (물론 import pandas as pd를 먼저 수행해야 하며 파일주소에 파일명, 확장자가 정확히 위치해야한다. 파일주소를 치기 귀찮다면 데이터 파일을 코드 파일과 같은 폴더에 위치시키면 파일 주소를 생략하고 파일명만 입력해도 된다.) csv 파일 불러오기 : pd.read_csv('파일주소/파일명.csv') xls/xlsx 파일 불러오기 : pd.read_excel('파일주소/파일명.xlsx') 예시로 kaggle에서 다운로드한 'IRIS.csv'라는 이름을 가진 csv 파일을 한 번 불러와보자. DF = pd.read_csv('IRIS.csv') ## 코드 파일과 csv 파일이 같은 폴더에 위치하면..

[python 파이썬, pandas 판다스] series와 dataframe

판다스(pandas) 자료구조 및 데이터 분석 처리를 위한 파이썬의 핵심 패키지 판다스는 시리즈(Series)와 데이터프레임(DataFrame) 형태 두 가지로 나눌 수 있음 시리즈(series) index와 value의 형태를 갖고 있는 판다스의 자료 구조 value 말고 index를 갖는다는 점에서 리스트와 차이점이 있음 import pandas as pd from pandas import Series, DataFrame ### Series ### a = Series([4,6,8,10]) print(a) print(a.values) ## value print(a.index) ## 시리즈 인덱스 변경하기 a2 = Series([4,6,8,10], index = ['a','b','c','d']) prin..

[python 파이썬] 조건문 if문 한 줄로 정리

파이썬에서 조건문은 if 문과 elif 문 혹은 else 문으로 이루어지며 보통은 각각을 한 줄씩 적는다. 예를 들면 아래와 같다. Score = 100 if Score == 100: Grade = 'A' elif Score > 70: Grade = 'B' else: Grade = 'C' print(Grade) ##'A' 하지만 간단한 조건문을 위해 6줄이나 소요해야한다. 이것을 조금 더 간략화하기 위해 콜론 옆에 Grade를 정의해줄 수 있다. Score = 100 if Score == 100: Grade = 'A' elif Score > 70: Grade = 'B' else : Grade = 'C' print(Grade)##'A' 첫 번째 코드보다 두 번째 코드가 더 간략한 걸 확인할 수 있다. 그렇..

[python 파이썬] 코딩테스트 준비 (문자열)

코딩테스트를 준비하면서(사실 너무 취미처럼 푼 것이라 준비했다고 하기도 뭐하지만ㅎㅎ) 생각보다 기초적인 지식이 부족한 것을 느꼈다. 그래서 한 번에 볼 수 있게 정리를 하려고 한다! 문자열 1) 문자열 split A = 'ab.c de.f' ## Case 1 --> ['ab.c', 'de.f'] print(A.split(' ')) ## Case 2 --> [['ab','c'],['de','f']] print([A.split(" ")[i].split(".") for i in range(len(A.split(' ')))]) ## Case 3 --> ['ab','c','de','f'] import re print(re.split('[. ]', A)) print(A.replace('.', ' ').split('..

[백준, python 파이썬] 2447번 : 별찍기-10(재귀)

백준 2447번 문제 풀기 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 문제 설명 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N..

[백준, python 파이썬] 2292번 : 벌집(기본 수학1)

백준 2292번 문제 풀기 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 문제 설명 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지..

[백준, python 파이썬] 1712번 : 손익분기점(기본 수학1)

백준 1712번 문제 풀기 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 설명 문제 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 ..

[백준, python 파이썬] 1316번 : 그룹 단어 체커(문자열)

백준 1316번 문제 풀기 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 설명 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를..

[백준, python 파이썬] 2941번 : 크로아티아 알파벳(문자열)

백준 2941번 문제 풀기 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문제 설명 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 ..

728x90