导入在线范例数据集
在做数据分析时,经常要使用范例数据集来做模型验证和演示等,其中Iris花卉数据集就是一个比较常见的统计范例数据。该数据包含150个样本,都属于Iris下面三个亚属,数据集通过记录花萼长度和宽度,花瓣长度和宽度,以及所属亚属来表征一个记录。这个数据集是公共可用的,Python的一些包也内嵌了这个数据集,我们可以通过以下方式来直接获取。
pandas
从Pandas 0.19.2版本开始,如果知道范例数据集的URL,可以直接通过read_csv()的方式将数据集读取。以下以如何获取Iris数据集为例,更多的范例数据集的URL可以从此链接获取。
import pandas as pd
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
以上方式可能涉及到认证,也可以通过利用request包读取网页内容,然后将内容传递给pandas的方式来读取范例数据集。
import pandas as pd
import io
import requests
url = 'https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv'
url_content = requests.get(url).content
iris = pd.read_csv(io.StringIO(url_content.decode('utf-8')))
很多Python包实际已经内嵌了Iris数据集,以下是常见的几个包以及获取Iris数据集的方式。
statsmodels
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
pydataset
from pydataset import data
iris = data('iris')
scikit-learn
from sklearn.datasets import load_iris
iris = load_iris()
以上导入的不是Pandas的dataframe格式,还需要通过以下代码将导出数据集转成dataframe格式。
import numpy as np
iris = pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns= iris['feature_names'] + ['target'])
seaborn
import seaborn as sns
iris = sns.load_dataset('iris')
quilt
更多Quilt的介绍见官网:Introduction - quilt (quiltdata.com)
在读取数据集之前,需要在shell通过quilt将数据集下载下来:
quilt install uciml/iris
以下即通过quilt读取范例数据集Iris的方式:
import quilt.data.uciml.iris as ir
iris = ir.tables.iris()
参考
This note is inspired by the following references: