Как читать CSV-файл с помощью панд в Docker-контейнере - PullRequest
0 голосов
/ 10 января 2019

Я пытался докернизировать свою модель машинного обучения, написанную на python. Скрипт Python включает в себя использование панд для загрузки CSV-файлов. Когда я запускал изображение в контейнере, команда pd.read_csv("FILENAME.csv") не может получить файл csv (я думаю, что проблема может заключаться в том, что файл csv отсутствует в контейнере). Любые предложения о том, что мне делать, чтобы запустить этот скрипт на python и прочитать файлы csv в докере.

dockerfile:

FROM python:latest
RUN pip install pandas
RUN pip install numpy
RUN pip install sklearn 
COPY . /app
ENTRYPOINT ["python", "app/model1.py","death_clean.csv","condition_data_clean.csv"]

model1.py

import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

df1=pd.read_csv("/Users/yaoyan/Desktop/docker-trial/condition_data_clean.csv",error_bad_lines=False)
df2=pd.read_csv("/Users/yaoyan/Desktop/docker-trial/death_clean.csv",error_bad_lines=False)

df=pd.merge(df1,df2,on=['person_id'], how='left')

когда я его запустил, я получил эту ошибку:

FileNotFoundError: Файл b '/ Users / yaoyan / Desktop / docker-trial / condition_data_clean.csv' не существует

1 Ответ

0 голосов
/ 10 января 2019

Вы должны создать том, содержащий ваши данные, используя команду docker volume. После этого шага вам необходимо смонтировать это хранилище, используя опцию -v в docker run, например, -v my_data_volum:/data. Наконец, измените ваш путь соответствующим образом в скрипте Python, в этом случае это будет /data/my_csv.csv. Больше информации в документации .

Или, если вы настаиваете на копировании файла, используйте путь /app/condition_data_clean.csv в функции read_csv вашей панды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...