Khi sử dụng R, rất tiện để tải các tập dữ liệu "thực hành" bằng
data(iris)
hoặc là
data(mtcars)
Có điều gì đó tương tự cho Gấu trúc không? Tôi biết tôi có thể tải bằng bất kỳ phương pháp nào khác, chỉ cần tò mò xem có nội dung gì không.
Khi sử dụng R, rất tiện để tải các tập dữ liệu "thực hành" bằng
data(iris)
hoặc là
data(mtcars)
Có điều gì đó tương tự cho Gấu trúc không? Tôi biết tôi có thể tải bằng bất kỳ phương pháp nào khác, chỉ cần tò mò xem có nội dung gì không.
Câu trả lời:
Kể từ khi tôi viết câu trả lời này ban đầu, tôi đã cập nhật nó bằng nhiều cách hiện có sẵn để truy cập các tập dữ liệu mẫu bằng Python. Cá nhân tôi có xu hướng gắn bó với bất kỳ gói nào tôi đang sử dụng (thường là cá biển hoặc gấu trúc). Nếu bạn cần truy cập ngoại tuyến, cài đặt tập dữ liệu bằng Quilt dường như là lựa chọn duy nhất.
Gói biểu đồ tuyệt vời seaborn
có một số tập dữ liệu mẫu được tích hợp sẵn.
import seaborn as sns
iris = sns.load_dataset('iris')
iris.head()
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
Nếu bạn không muốn nhập seaborn
, nhưng vẫn muốn truy cập các tập dữ liệu mẫu của nó , bạn có thể sử dụng phương pháp của @ andrewwowens cho dữ liệu mẫu sơ sinh:
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Lưu ý rằng tập dữ liệu mẫu chứa các cột phân loại có loại cột của chúng được sửa đổi bởisns.load_dataset()
và kết quả có thể không giống nhau bằng cách lấy trực tiếp từ url. Bộ dữ liệu mẫu mống mắt và mẹo cũng có sẵn trong repo github của gấu trúc tại đây .
Vì bất kỳ tập dữ liệu nào cũng có thể được đọc qua pd.read_csv()
, nên có thể truy cập tất cả các tập dữ liệu mẫu của R bằng cách sao chép URL từ kho lưu trữ tập dữ liệu R này .
Các cách bổ sung để tải tập dữ liệu mẫu R bao gồm
statsmodel
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
và PyDataset
from pydataset import data
iris = data('iris')
scikit-learn
trả về dữ liệu mẫu dưới dạng mảng numpy thay vì khung dữ liệu gấu trúc.
from sklearn.datasets import load_iris
iris = load_iris()
# `iris.data` holds the numerical values
# `iris.feature_names` holds the numerical column names
# `iris.target` holds the categorical (species) values (as ints)
# `iris.target_names` holds the unique categorical names
Quilt là trình quản lý tập dữ liệu được tạo ra để hỗ trợ quản lý tập dữ liệu. Nó bao gồm nhiều bộ dữ liệu mẫu chung, chẳng hạn như một số bộ từ kho lưu trữ mẫu uciml . Các trang khởi động nhanh chương trình làm thế nào để cài đặt và nhập khẩu các bộ dữ liệu iris:
# In your terminal
$ pip install quilt
$ quilt install uciml/iris
Sau khi cài đặt tập dữ liệu, nó có thể truy cập cục bộ, vì vậy đây là tùy chọn tốt nhất nếu bạn muốn làm việc với dữ liệu ngoại tuyến.
import quilt.data.uciml.iris as ir
iris = ir.tables.iris()
sepal_length sepal_width petal_length petal_width class
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
Quilt cũng hỗ trợ lập phiên bản tập dữ liệu và bao gồm mô tả ngắn gọn về từng tập dữ liệu.
Các rpy2
mô-đun được làm cho điều này:
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
r['iris'].head()
hoa lợi
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
Lên đến gấu trúc 0,19, bạn có thể sử dụng rpy
giao diện riêng của gấu trúc :
import pandas.rpy.common as rcom
iris = rcom.load_data('iris')
print(iris.head())
hoa lợi
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
rpy2
cũng cung cấp một cách để chuyển đổi R
các đối tượng thành các đối tượng Python :
import pandas as pd
import rpy2.robjects as ro
import rpy2.robjects.conversion as conversion
from rpy2.robjects import pandas2ri
pandas2ri.activate()
R = ro.r
df = conversion.ri2py(R['mtcars'])
print(df.head())
hoa lợi
mpg cyl disp hp drat wt qsec vs am gear carb
0 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
1 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
2 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
3 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
4 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
rcom.load_data('iris')
?
pandas.rpy
đã bị loại bỏ trong 0,20 . Để giao tiếp với R, rpy2
là tùy chọn được khuyến nghị.
Mọi tệp .csv có sẵn công khai đều có thể được tải vào gấu trúc cực kỳ nhanh chóng bằng cách sử dụng URL của nó. Đây là một ví dụ sử dụng tập dữ liệu mống mắt ban đầu từ kho lưu trữ UCI.
import pandas as pd
file_name = "https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv"
df = pd.read_csv(file_name)
df.head()
Đầu ra ở đây là tiêu đề tệp .csv mà bạn vừa tải từ URL đã cho.
>>> df.head()
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
Một URL ngắn đáng nhớ cho cùng là https://j.mp/iriscsv
. URL ngắn này sẽ chỉ hoạt động nếu nó được nhập và không hoạt động nếu nó bị sao chép.
iris.names