一生データサイエンス100本ノックが出来ず悲しみに打ちひしがれています。part2
解決したいこと
データサイエンス100本ノックをやりたい。
現状)
記事を拝見頂きありがとうございます。
機械学習初学者です。かれこれ半年以上、100本ノックが出来ず
悲しみに打ちひしがれ、干からびる寸前のしがないサラリーマンです。
さて、前回から(前の記事)少し進みお陰様であと少しの所で100本ノックが出来そうな所まできました。
下記エラーをご確認いただきたいです。
入力
import os
import pandas as pd
import numpy as np
from datetime import datetime, date
from dateutil.relativedelta import relativedelta
import math
import psycopg2
from sqlalchemy import create_engine
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from imblearn.under_sampling import RandomUnderSampler
pgconfig = {
'host': 'localhost',
'port': '5432',
'database': 'dsdojo_db',
'user': 'postgres',
'password': 'postgres12345',
}
# pd.read_sql用のコネクタ
conn = psycopg2.connect(**pgconfig)
df_customer = pd.read_sql(sql='select * from customer', con=conn)
df_category = pd.read_sql(sql='select * from category', con=conn)
df_product = pd.read_sql(sql='select * from product', con=conn)
df_receipt = pd.read_sql(sql='select * from receipt', con=conn)
df_store = pd.read_sql(sql='select * from store', con=conn)
df_geocode = pd.read_sql(sql='select * from geocode', con=conn)
エラー)
OperationalError Traceback (most recent call last)
<ipython-input-34-1d34bc0bd552> in <module>
20
21 # pd.read_sql用のコネクタ
---> 22 conn = psycopg2.connect(**pgconfig)
23
24 df_customer = pd.read_sql(sql='select * from customer', con=conn)
~/opt/anaconda3/lib/python3.8/site-packages/psycopg2/__init__.py in connect(dsn, connection_factory, cursor_factory, **kwargs)
120
121 dsn = _ext.make_dsn(dsn, **kwargs)
--> 122 conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
123 if cursor_factory is not None:
124 conn.cursor_factory = cursor_factory
OperationalError: FATAL: role "postgres" does not exist
また、知り合いにlocalhostの所をdbにしてみてはとのアドバイスを頂いたのでdbに変更して入力したところ。
エラー)
OperationalError Traceback (most recent call last)
<ipython-input-35-6d8be1c5d4ec> in <module>
20
21 # pd.read_sql用のコネクタ
---> 22 conn = psycopg2.connect(**pgconfig)
23
24 df_customer = pd.read_sql(sql='select * from customer', con=conn)
~/opt/anaconda3/lib/python3.8/site-packages/psycopg2/__init__.py in connect(dsn, connection_factory, cursor_factory, **kwargs)
120
121 dsn = _ext.make_dsn(dsn, **kwargs)
--> 122 conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
123 if cursor_factory is not None:
124 conn.cursor_factory = cursor_factory
OperationalError: could not translate host name "db" to address: nodename nor servname provided, or not known
上記のようなエラーが出ました。
自分で試したこと
そもそも、dockerの仕組みや使い方を理解していないのと、postgresとはなんぞやということを深く理解できていない為
場当たり的な解決しかできておらず、小生の知識・勉強不足のせいだと実感しております。
解決方法をご存知の方、何卒ご教示の程宜しくお願い致します。
0