Data 26

Q. 데이터프레임에 중복값이 있는지 확인하려면? A. pandas.DataFrame.duplicated

다큐멘테이션 : https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.duplicated.html Q. 표와 데이터가 있다. 그런데 중복이면 안되는 열 있거나, (ex. 생일이 똑같은 유저는 얼마든지 있어도 상관없는데, 전화번호가 똑같으면 안된다.) 입력할 때 오류가 있어서 모든 내용이 완전히 중복된 행이 있는 것 같은데 확인하기 어려울 때, 아니면, 모든 열의 값에 겹치는 것이 하나도 없는 행들만 남기고 싶을 땐 어떻게 해야할까? A. 표를 판다스 데이터프레임으로 만들어 해결한다. pandas.DataFrame.duplicated() 는 중복인 row가 있으면, True를 반환해주는데, 이를 몇가지 상황에서 활용할 수 있다. 1. 특정 컬럼이 중..

Data/Pandas 2022.10.06

내가 쓰기 위해 정리하는 MongoDB 쿼리 ( 업데이트중)

ver : 5.0.9 Documentation 참고 : https://www.mongodb.com/docs/manual/tutorial/query-documents/ 조회 사용자와 사용자 권한 조회 use admin admin> db.getUsers() 데이터베이스 조회 show dbs * 모든 데이터베이스 이름 조회 가능 컬렉션 조회 > show collections 삭제 데이터베이스 삭제 use db.dropDatabase() 단 삭제 권한을 가지고 있는 유저를 사용하고 있을 때만 실제 삭제된다. 참고: https://rollingsnowball.tistory.com/290 유저 관련 유저 생성 db.createUser({ user: , pwd:, roles: [{role: , db: 'admin'}..

Data/NoSQL 2022.08.02

Q. MongoServerError: not authorized on admrul to execute command 해결방법은?

{ ok: 1, dropped: 'admrul' }​ db.createUser({ user: , pwd:, roles: [{role: 'root', db: 'admin'}] }); 환경 linux Ubuntu 20.04.4 LTS MongoDB 5.0.9 bash 에러 발생 상황 다른 곳에서 import 한 database에 문제가 있어서 해당 db를 삭제하려는 상황 https://www.tutorialkart.com/mongodb/mongodb-delete-database/ 위의 포스팅을 참고하여 해당 db로 간다음 db.dropDatabase() 입력했을 때 해당 에러 발생 에러 메세지 MongoServerError: not authorized on admrul to execute command { ..

Data/NoSQL 2022.08.02

NoSQL MongoDB 사용하기

nlp 중에서도 문서 단위의 long text를 분석 단위로 하다보니 RDB에 문서 단위의 텍스트를 저장하고 불러오는게 부담스러웠다. 문서의 길이가 대부분 5000 정도는 쉽고 table의 row도 만 개가 넘어가다 보니 단순히 SELECT * 만 해도 데이터를 받아보는데 수 초가 걸리는 상황이라 어쩔 수 없이 NoSQL로의 DB 전환을 할 수 밖에 없는 상황이 되었다. DB를 MongoDB에서 자체적으로 제공하는 클라우드 서비스인 MongoDB Atlas Database 나 AWS에서 MongoDB호환으로 서비스 하는 DocumentDB 를 활용하여 서버리스 데이터베이스를 구축하는 것이 좋겠지만, 아직까지는 서비스 운영을 위한 DB구축이 아니라 테스트 단계로 일단 AWS EC2 Ubuntu에 Mongo..

Data/NoSQL 2022.08.01

pandas에서는 for문 말고 메소드를 쓰자

데이터 프레임 전체에서 특정한 조건에 해당하는 행들을 제거한 새 데이터 프레임을 만드는 작업을 했다. 1. for idx, row in df.itterrows(): 를 활용하여 데이터 프레임 각 행마다 작업을 수행했을 때 작업 속도 : 36분 2. 특정한 조건을 condition으로 만들어 df[condition]으로 필터링한 경우의 작업 속도 : 460ms 약 4760배 속도가 향상되었다.

Data/Pandas 2021.12.09

MYSQL 잘못 입력한 데이터 일부 수정하기 - UPDATE.. SET

새로 만든 테이블에 INSERT 쿼리로 데이터들을 입력하다가, 오타가 발생했다. 데이터의 일부만 수정하려고 할 때는 UPDATA를 사용한다. UPDATE SET WHERE ; 나는 이렇게 url 주소를 잘못 입력한 것을 확인하고, UPDATE User SET model_url = 'static/img/model/m00.jpg' WHERE user_id = 2; 이렇게 user_id 가 2인 row의 model_url column 값을 변경하였다.

Data/SQL 2021.11.24

MYSQL 테이블에 데이터 입력하기 - INSERT INTO

CREATE TABLE으로 테이블을 생성하면, 데이터가 없는 빈 테이블이 만들어진다. https://rollingsnowball.tistory.com/244 MYSQL TABLE 만들기 - CREATE TABLE KDT 과제로 만들었던 AWS에 배포한 가상 착용 이미지 생성 딥러닝 모델을 서빙하는 웹사이트를 로컬로 이식시키고 있다. 지난 포스팅에서 테이블 구조를 잘못 만들어서 삭제하는 쿼리를 작성했었 rollingsnowball.tistory.com 이제 테이블에 데이터를 입력할 차례. INSERT INTO (, ....) VALUES (, ...); 이 형식으로 쿼리를 입력하면 된다. 한 번에 여러 개 row의 데이터를 입력하려면, 그냥 VALUES 아래에 여러 줄로 데이터를 입력하면 된다. INSER..

Data/SQL 2021.11.23

MYSQL 컬럼 타입 변경하기, 필드 타입 변경하기 - ALTER TABLE

테이블을 만들 때, 문자열이 들어가야할 컬럼의 타입을 실수로 INT, 정수로 만들어 버리고 말았다. 그래서 데이터를 입력해야 하는데, 문자열로 된 데이터가 INT type의 컬럼 자리에 있어서 들어가지가 않는다. 이렇게 해당 컬럼, 필드의 데이터 타입을 변경해야 한다면 어떻게 해야할까? ALTER TABLE MODIFY COLUMN ; 나는, ALTER TABLE Item MODIFY COLUMN sex VARCHAR(16); 이렇게 쿼리를 작성하여 sex 컬럼의 타입을 변경하였다.

Data/SQL 2021.11.23

MYSQL TABLE 만들기 - CREATE TABLE

KDT 과제로 만들었던 AWS에 배포한 가상 착용 이미지 생성 딥러닝 모델을 서빙하는 웹사이트를 로컬로 이식시키고 있다. 지난 포스팅에서 테이블 구조를 잘못 만들어서 삭제하는 쿼리를 작성했었다. https://rollingsnowball.tistory.com/243 MYSQL TABLE 삭제하기 - DROP TABLE aws 중심으로 개발했던 딥러닝 모델 서빙 사이트를 로컬로 옮기고 있다. aws 있었던 db를 로컬로 옮기면서, 새롭게 mysql에서 데이터베이스를 만들고 있는데, 아뿔사, auto_increment 하는 primary key 컬럼 rollingsnowball.tistory.com 이제 필요한 컬럼들을 제대로 포함한 테이블을 새롭게 만들어 보자. CREATE TABLE ( field_nam..

Data/SQL 2021.11.23

MYSQL TABLE 삭제하기 - DROP TABLE

aws 중심으로 개발했던 딥러닝 모델 서빙 사이트를 로컬로 옮기고 있다. aws 있었던 db를 로컬로 옮기면서, 새롭게 mysql에서 데이터베이스를 만들고 있는데, 아뿔사, auto_increment 하는 primary key 컬럼을 실수로 만들지 않았다. SELECT * FROM Item 이럴 땐 그냥 테이블을 삭제하고 새로 만드는 것이 낫다. 형식은 DROP TABLE ; 이다. 나는 위에서 확인한 Item 테이블을 삭제하고 싶으니 DROP TABLE Item; 이렇게 하면 Item이라는 테이블이 삭제된다. 다시 Item 테이블을 만들고, column type을 정하고, row도 입력해줘야 한다.

Data/SQL 2021.11.23

[W13D1] Spark ML Pipeline 과 Tuning

Spark MLlib 모델 튜닝: Spark MLlib가 제공해주는 모델 튜닝에 대해 배워보자 Spark MLlib 모델 튜닝 (ML Tuning) 최적의 하이퍼 파라미터를 선택하는 것 최적의 모델 혹은 모델의 파라미터를 찾는 것이 아주 중요 epoch, 학습률, decision tree의 최대 깊이 등이 하이퍼 파라미터가 될 수 있다. 하나씩 테스트해보는 것 vs. 다수를 동시에 테스트하는 것 모델 선택의 중요한 부분은 테스트 방법 교차 검증(Cross Validation)과 홀드 아웃(Train-Validation Split) 테스트 방법을 지원 보통 ML Pipeline과 같이 사용함. Spark MLlib 모델 테스트 모델 테스트 방법: 크게 2가지가 존재 교차 검증(Cross Validation..

Data/Big Data 2021.07.29

[W12D4] Spark MLlib

Spark MLlib 소개: Spark이 제공해주는 머신러닝에 대해 배워보자 Spark MLlib 머신러닝 관련 다양한 알고리즘, 유틸리티로 구성된 라이브러리 Classification, Regression, Clustering, Collaborative Filtering, Dimensionality Reduction 등 아직 딥러닝 지원은 미약 여기에는 RDD 기반과 데이터 프레임 기반의 두 버전이 존재 spark.mllib vs. spark.ml spark.mllib가 RDD 기반이고 spark.ml은 데이터 프레임 기반 spark.mllib는 RDD 위에서 동작하는 이전 라이브러리로 더 이상 업데이트가 안됨 항상 spark.ml을 사용할 것! import pyspark.ml Spark MLlib의 ..

Data/Big Data 2021.07.29

[W12D3] Spark SQL

SQL이란? SQL은 빅데이터 세상에서도 중요! 구조화된 데이터를 다루는 한 SQL은 데이터 규모와 상관없이 쓰임 모든 대용량 데이터 웨어하우스는 SQL 기반 Redshift, Snowflake, BigQuery, Hive Spark도 예외는 아님 SparkSQL이 지원됨 데이터 분야에서 일하고자 하면 반드시 익혀야할 기본 기술 관계형 데이터베이스 대표적인 관계형 데이터베이스 MySQL, Postgres, Oracle, … Redshift, Snowflake, BigQuery, Hive, … 관계형 데이터베이스는 2단계로 구성됨 가장 밑단에는 테이블들이 존재(테이블은 엑셀의 시트에 해당) 테이블들은 데이터베이스라는 폴더 밑으로 구성 테이블의 구조(스키마라고 부르기도 함) 테이블은 레코드들로 구성 레코드는..

Data/Big Data 2021.07.29