Python数据分析:导入在线范例数据集


导入在线范例数据集

在做数据分析时,经常要使用范例数据集来做模型验证和演示等,其中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:

python - Sample datasets in Pandas - Stack Overflow


Author: wenvenn
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source wenvenn !