파이썬 넘파이와 판다스 활용하여 데이터 시각화
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)

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()

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_weight

fish_data

6.타깃데이터 만들기
fish_target = np.concatenate((np.ones(35), np.zeros(14)))

7.데이터 셔플하기
# 물고기 데이터 셔플하기
index = np.arange(49) # 35(도미), 14(빙어)
np.random.shuffle(index)

fish_data = fish_data[index]
fish_target = fish_target[index]
fish_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()

훈련/타겟데이터 시각화
# 데이터 시각화(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()

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"])


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")

