PYTHON

파이썬 넘파이와 판다스 활용하여 데이터 시각화[MariaDB]

파이썬 넘파이와 판다스 활용하여 데이터 시각화

1. 설치

필요한 라이브러리를 설치한 후 임포트한다.

pip install numpy (python -m pip install numpy)
pip install pandas
pip install sqlalchemy
pip install matplob

import numpy as np
import pandas as pd
import sqlalchemy as db
import matplotlib.pyplot as plt

2.테이터 추가

사용할 파일을 파이썬 경로와 같은 곳에 추가한다.(fish_csv)
fish_csv

3.pandas로 csv 로드

# 도미와 빙어의 길이와 무게 데이터 csv 파일로 가져오기
bream_length = pd.read_csv('/Users/dahyechoi/workspace/fishapp/fish_csv/bream_length.csv')
bream_weight = pd.read_csv('/Users/dahyechoi/workspace/fishapp/fish_csv/bream_weight.csv')
smelt_length = pd.read_csv('/Users/dahyechoi/workspace/fishapp/fish_csv/smelt_length.csv')
smelt_weight = pd.read_csv('/Users/dahyechoi/workspace/fishapp/fish_csv/smelt_weight.csv')
첫줄을 칼럼명으로 간주해서 한칸 띄우고 읽기 때문에 파일의 첫줄에 칼럼명을 추가해야한다.

4.matplob로 데이터 시각화

# 도미와 방어 데이터 시각화(matplotlib)
plt.scatter(bream_length, bream_weight)
plt.scatter(smelt_length, smelt_weight)
plt.show()
pyplo

5.데이터 합치기

# 빙어와 도미 데이터를 합치기
fish_length = np.concatenate((bream_length, smelt_length))
fish_weight = np.concatenate((bream_weight, smelt_weight))
fish_data = np.column_stack((fish_length, fish_weight))
fish_length
fish_length
fish_weight
fish_weight
fish_data
fish_data

6.타깃데이터 만들기

fish_target = np.concatenate((np.ones(35), np.zeros(14)))
fish_target

7.데이터 셔플하기

# 물고기 데이터 셔플하기
index = np.arange(49) # 35(도미), 14(빙어)
np.random.shuffle(index)
shuffle
fish_data = fish_data[index]
fish_target = fish_target[index]
fish_data_shuffled
fish_data_shuffled
target_data_shuffled
target_data_shuffled

8.훈련/검증 데이터 분류

# 훈련 데이터
train_data = fish_data[:39]
train_target = fish_target[:39]


# 검증 데이터
test_data = fish_data[39:]
test_target = fish_target[39:]

 

9.훈련 데이터 시각화

# 데이터 시각화(matplotlib)
train_target = train_target.reshape(39, 1)

plt.scatter(train_data[:,0], train_data[:,1])
plt.xlabel("length")
plt.ylabel("weight")
plt.show()
pyplo

훈련/타겟데이터 시각화

# 데이터 시각화(matplotlib)
train_target = train_target.reshape(39, 1)
test_target = test_target.reshape(10, 1)

plt.scatter(train_data[:,0], train_data[:,1])
plt.scatter(test_data[:,0], test_data[:,1])
plt.xlabel("length")
plt.ylabel("weight")
plt.show()
pyplo

10.데이터를 판다스로 변환

#데이터를 판다스로 변환
train = np.hstack((train_data, train_target))
train_dataFrame = pd.DataFrame(train, columns=["train_length", "train_weight", "train_target"])

test = np.hstack((test_data, test_target))
test_dataFrame = pd.DataFrame(test, columns=["test_length", "test_weight", "test_target"])

 

pandas pandas

11.마리아디비에 데이터 넣기

# 마리아디비에 데이터 넣기
engine = db.create_engine("mariadb+mariadbconnector://pandas:pandas1234@127.0.0.1:3306/pandasdb")
train_dataFrame.to_sql("train",engine, index=False,if_exists="replace")
test_dataFrame.to_sql("test",engine, index=False,if_exists="replace")
mariadb mariadb
최신글