如何在 Google Cloud ML 上使用 pandas.read_csv?

Tlo*_*uus 1 python pandas google-cloud-storage google-cloud-ml

我正在尝试在 Google Cloud ML 上部署训练脚本。当然,我已经将我的数据集(CSV 文件)上传到了 GCS 的存储桶中。

我曾经使用 read_csv 从 Pandas 导入我的数据,但它似乎不适用于 GCS 路径。

我应该如何进行(我想继续使用熊猫)?

import pandas as pd
data = pd.read_csv("gs://bucket/folder/file.csv")
Run Code Online (Sandbox Code Playgroud)

输出 :

ERROR 2018-02-01 18:43:34 +0100 master-replica-0 IOError: File gs://bucket/folder/file.csv does not exist
Run Code Online (Sandbox Code Playgroud)

Haf*_*man 5

您将需要使用file_iofromtensorflow.python.lib.io来执行此操作,如下所示:

from tensorflow.python.lib.io import file_io
from pandas.compat import StringIO
from pandas import read_csv

# read csv file from google cloud storage
def read_data(gcs_path):     
   file_stream = file_io.FileIO(gcs_path, mode='r')
   csv_data = read_csv(StringIO(file_stream.read()))
   return csv_data
Run Code Online (Sandbox Code Playgroud)

现在调用上面的函数

 gcs_path = 'gs://bucket/folder/file.csv' # change path according to your bucket, folder and path
 df = read_data(gcs_path)
 # print(df.head()) # displays top 5 rows including headers as default
Run Code Online (Sandbox Code Playgroud)