데이터프레임 값 변경하기판다스(Pandas) 데이터프레임에서 특정 값을 원하는 값으로 변경하는 방법은 여러 가지가 있습니다. 이전에 replace로 변경하기에 대한 내용을 포스팅했었는데 비슷한 내용이지만 이번 포스팅에서는 replace 없이 다른 메쏘드를 통해 사용하는 방법을 소개합니다. 1. 특정 조건에 맞는 값 변경하기import pandas as pd# 예시 데이터프레임 생성data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]}df = pd.DataFrame(data)# 조건을 만족하는 값을 원하는 값으로 변경df.loc[df['A'] == 3, 'B'] = 100df.iloc[2, 0] = 7df loc를 이용해 'A' 열에서 값이 3..
RMySQL을 이용한 R과 MySQL 연동MySQL은 데이터베이스를 아는 사람이라면 한번쯤은 써봤을 데이터베이스관리시스템(RDBMS)입니다. 대량의 데이터를 효율적으로 저장하고 관리하는데 특화된 시스템입니다. 데이터는 DB파일로 저장됩니다.Rstudio도 데이터를 다루는 프로그램이어서 MySql과의 연동이 됩니다. Mysql과의 연동만으로도 데이터를 분석, 관리하기 좋은 환경이 되기 때문에 필히 알고 있어야 합니다. R의 패키지인 RMySQL을 통해서 MySQL 와 연동을 해보겠습니다. RMySQL 패키지 설치하기설치는 간단합니다.install.packges("RMySQL")library(RMySQL)RMySQL을 사용하면 데이터베이스의 주요기능인 DDL, DML을 할 수 있습니다. DDL,DML의 관..
R에서 리스트 벡터로 변환하기리스트도 데이터타입 변경처럼 as_*로 하면 되것같다고 생각하시는 분들 많으실 겁니다. 그런데 안타깝게도 as로 되지 않습니다.리스트는 리스트를 풀어주는 함수인 unlist() 함수를 통해 변경할 수 있습니다.몇가지 예시를 통해 확인해보시기 바랍니다.기본 리스트를 벡터로 변환하기# 리스트 생성my_list 혼합된 데이터 타입을 가진 리스트인 경우# 혼합된 데이터 타입을 가진 리스트 생성my_list 보시다시피 데이터 타입이 섞여있으면 모두 문자열로 변환됩니다.리스트가 중첩된 경우리스트 안에 리스트가 있는 경우 unlist() 하나로 모든 리스트가 다 풀려버립니다.# 중첩된 리스트 생성my_list 이름이 설정되어 있는 리스트인 경우# 이름이 있는 리스트 생성my_list 이름..
dplyr 패키지를 이용한 데이터 조작안녕하세요~ 이번 포스팅에서는 R의 패키지인 dplyr에 대해 이야기해보려고 합니다. dplyr은 데이터를 효율적으로 다루기 위해 만들어진 패키지로, 간결하고 쉬운 코드를 작성하는데 유용합니다. 특히, 파이프(%>%)를 이용한 코드가 가능하기 때문에 한번에 데이터 조작을 할 수 있습니다. 그럼 주요 기능들을 살펴보겠습니다.dplyr 패키지 소개dplyr은 Hadley Wickham이 개발한 패키지로, 데이터 프레임을 조작하는데 최적화되어 있습니다. 패키지 없이 R로 다 해결하려면 코드양이 많아지지만 dplyr 를 사용하면 코드량을 획기적으로 줄일 수 있습니다.주요기능은 다음과 같습니다.filter() : 행 필터링select() : 열 선택mutate() : 새로운 ..
데이터 변환이란?빅데이터 분석과정 중에서 데이터 변환은 정제된 데이터를 분석 목적에 맞게 만드는 과정을 말합니다. 그래서 데이터 변환 단계에서는 변수를 생성하거나 데이터 선택해 필요없는 데이터는 정리하면서 데이터 차원을 축소하는 작업을 하게 됩니다.R을 통해서 데이터 변환 작업을 어떻게 하는지 알아보도록 하겠습니다.데이터 타입변경데이터의 타입 정리가 되어있지 않으면 머신러닝이나 딥러닝을 할때 방해가 될 수 있습니다. 반드시 타입변경을 해주어야 합니다. 데이터 타입 변경에 대한 내용은 아래 포스팅을 참고하시기 바랍니다. [R] 데이터 타입 변경하기R에서 데이터 타입 변경하기R에서 데이터 타입을 변경하는 방법입니다. 데이터 분석 과정에서 데이터 타입을 올바르게 지정하는 것은 매우 중요합니다. 데이터 타입..
R에서 데이터 타입 변경하기R에서 데이터 타입을 변경하는 방법입니다. 데이터 분석 과정에서 데이터 타입을 올바르게 지정하는 것은 매우 중요합니다. 데이터 타입이 올바르지 않으면 원하는 분석 결과를 얻기 어렵기 때문이죠. 그럼, R에서 데이터 타입을 변경하는 다양한 방법을 함께 살펴보겠습니다.1. 기본 데이터 타입R에는 여러 가지 기본 데이터 타입이 있습니다. 주요 데이터 타입은 다음과 같습니다:numeric: 실수형 데이터 (예: 1.5, 2.7)integer: 정수형 데이터 (예: 1, 2, 3)character: 문자열 데이터 (예: "a", "hello")factor: 범주형 데이터 (예: "male", "female")logical: 논리형 데이터 (예: TRUE, FALSE)2. 데이터 타입 확..
R로 데이터 불러오기와 저장하기이번 포스팅에서는 R을 사용해 데이터를 불러오고 저장하는 방법에 대해 이야기해보려고 합니다. 데이터 분석의 첫 걸음은 데이터를 준비하는 것에서 시작하죠. R에서는 다양한 형식의 데이터를 쉽게 불러오고, 분석 후 저장할 수 있습니다. 엑셀파일,html, 데이터베이스, rds 파일 4가지에 대해서 저장, 불러오는 방법에 대해 하나씩 살펴보겠습니다. 데이터 불러오기1. CSV 파일 불러오기CSV(Comma Separated Values) 파일은 가벼워서 흔히 사용하는 데이터 파일 형식 중 하나입니다. R에서는 read.csv() 함수를 사용해 CSV 파일을 쉽게 불러올 수 있습니다. 예를 들어, "data.csv"라는 파일을 불러오려면 다음과 같이 합니다.data read.csv..
빅데이터란?오늘은 우리가 자주 듣게 되는 "빅데이터"라는 용어에 대해 이야기해보려고 합니다. 4차혁명이 시작되면서 빅데이터란 용어가 급부상하고 있는데요. 빅데이터가 정확히 무엇을 의미하는지, 그리고 왜 중요한지 알아보겠습니다.Pixabay로부터 입수된 Gerd Altmann님의 이미지 입니다. 빅데이터 정의빅데이터, 말만 들어도 왠지 거대한 무언가를 떠올리게 되지 않나요?빅데이터란 말 그대로 엄청나게 큰 데이터셋을 뜻합니다. 하지만 단순히 데이터가 크다고 빅데이터의 진정한 의미로 받아들이지 않습니다.기본적으로 빅데이터는 다음의 3V로 설명될 수 있습니다. 미국의 IT 자문기관인 가트너그룹에서 말한 3V는 다음과 같습니다.Volume (양): 빅데이터의 첫 번째 특징은 방대한 양입니다. 매일 전 세계에서 ..
판다스 시트네임 확인하기빅데이터로 넘어가면 엑셀이나 csv 파일을 불러와서 뭔가 하기가 꺼려집니다. 너무 방대하거든요.특히, 일부 데이터만 필요한 경우, 다 불러올 필요가 없는 경우나 read_excel이나 read_csv를 사용하면 디폴트로 첫번째 시트만 불러와지기 때문에 다른 시트를 가져오려면 해당 시트 네임을 알아야 합니다.파이썬으로 시트 네임만 가져오는 방법을 알려드립니다.먼저, ExcelFile()을 이용해 엑셀 객체를 만들어줍니다.import pandas as pd # Excel 파일 경로 file_path = 'your_excel_file.xlsx' # Excel 파일 객체 생성 excel_file = pd.ExcelFile(file_path) sheet_names를 이용해 시트 확인을..
파이썬 리스트 같은 원소값 가져오기파이썬에서 두 개 이상의 리스트에서 공통된 원소값만 추출하는 방법입니다.별 게 아닌데 막상 하면 막막할만해서 정리겸 포스팅합니다.for문 이용가장 쉬운 방법은 for문을 이용하는 방법입니다. 직관적으로 코딩을 만들기 좋습니다.list1 = [1, 2, 3, 4, 5]list2 = [4, 5, 6, 7, 8]common_list = []#for문 이용for i in list1: for j in list2: if i == j: common_list.append(j)# in을 활용for i in list1: if i in list2: common_list.append(i)i를 고정하고 j와 맞춰보고 일치한다면 i를 com..
교차표 만들기 판다스의 메쏘드중 하나인 crosstab을 이용해 교차표를 생성합니다. 주로 범주형 변수에 쓰이는데 시각적으로 표현하기 쉽게 만드는 점에서 은근 쓰이는 곳이 많습니다. crosstab() 사용방법 사용방법은 아주 간단합니다. 교차표를 만들 두개의 범주형 변수를 가져오면 그만입니다. # 예제 데이터 프레임 생성 data = {'A': ['one', 'one', 'two', 'three'] * 3, 'B': ['A', 'B', 'C'] * 4, 'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 2, 'D': [1, 2, 2, 2, 1, 1, 3, 3, 3,1,2,3]} df = pd.DataFrame(data) # crosstab 생성 cross_tab ..
딕셔너리 합치기 딕셔너리 합치는 방법입니다. 간단합니다만 딕셔너리 특성상 key 가 같은 경우에는 덮어쓰기가 되니깐 그부분을 잘 조작하면 내가 원하는대로 딕셔너리를 다룰 수 있습니다. 딕셔너리 합치는 방법 2개의 딕셔너리를 합치는 방법은 간단합니다. update()라는 함수를 쓰면 됩니다. test1 = {'A':1,'B':2,'C':3} test2 = {'A':2,'D':4,'E':5} test1.update(test2) print(test1) 3개 이상일 때도 update를 이용해서 반복하면 됩니다. 한꺼번에 하려면 다음과 같이 합니다. dict1 = {'a': 1, 'b': 2} dict2 = {'b': 3, 'c': 4} dict3 = {'d': 5} merged_dict = {**dict1, *..
데이터프레임 표를 웹에 나타내기 데이터프레임은 데이터를 표 형식으로 표시하고 저장하는 데 매우 유용한 판다스(Pandas) 라이브러리의 핵심 데이터 구조입니다. 이것을 그대로 HTML에 옮기고자 합니다. 즉, 데이터프레임을 HTML로 변환하면 데이터를 웹 페이지에 표시하거나 공유할 때 편리하게 사용할 수 있을겁니다. 이번 포스팅에서는 데이터프레임 표를 HTML에 변환하는 방법을 소개합니다. 판다스 데이터프레임 생성 먼저, 데이터프레임을 생성하고 데이터를 채워봅시다. 예시로 사용할 간단한 데이터프레임을 만들어보겠습니다. import pandas as pd data = {'이름': ['Alice', 'Bob', 'Charlie'], '나이': [25, 30, 35]} df = pd.DataFrame(data..
DtypeWarning 잘 불러오던 csv가 간혹 DtypeWarning 이라고 경고가 뜹니다. DtypeWarning: Columns (37,66) have mixed types. Specify dtype option on import or set low_memory=False. 특정 컬럼의 type이 섞여있어서 결정할 수 없다고 합니다. 그럼 다 object로 하지 않았나? 왜저러는걸까? 싶은데 컴퓨터가 인식을 그렇게한다니까 어떻게 할 수 있는 건 아닌 것 같습니다. 저 경고를 무시하고 코딩실행을 하니깐 확실히 작업속도가 현저히 느려졌습니다. 메모리 도둑이 따로없네요. 해결방법 해결방법은 두가지입니다. (1) 문제가 되는 컬럼의 타입을 정해준다 (2) csv에 쓰는 메모리 제한을 없애서 csv를 한번..
병렬 컴퓨팅 수행하기 파이썬은 데이터 과학 및 기계 학습 분야에서 인기 있는 언어 중 하나로, 데이터 처리와 분석에 탁월한 퍼포먼스를 자랑합니다. 그러나 대규모 데이터셋을 처리하거나 병렬 컴퓨팅을 수행해야 할 때 파이썬이 느리다보니 여러 라이브러리를 사용하면서 극복하고 있습니다. 빠른 처리를 위해 병렬 컴퓨팅 또한 좋은 방법이 될 수 있는데 Dask를 통해서 병렬 처리를 해보는게 어떨까 싶습니다. Dask 소개 Dask는 병렬 컴퓨팅 및 분산 데이터 처리를 위한 파이썬 라이브러리로, NumPy와 Pandas와 유사한 API를 제공하고 대규모 데이터셋을 처리하고 병렬화하는 기능을 제공합니다.즉, Numpy처럼 Pandas처럼 할수 있으면서 병렬처리 기능을 첨가할 수 있다는 얘기입니다. Dask의 주요 기능..